Méthodo Agile powa... je roule une grosse pelle au changement ;-) Là t'as plus choix, t'es obligé de te taper un filtre. Tu checkes si la méthode/action appartient à une classe qui étend ton plugin. Tu checkes si la méthode/action possède un template sinon tu lui attribues le template du plugin.
Tu vas voir c'est rigolo ;-) ++ Le 26 mai 2009 11:31, Mathieu Tricoire <[email protected]> a écrit : > > je te remercie pour ta réponse, j'avais pensé à ceux-ci, cependant > l'inconvénient majeur est de devoir tester pour chaque action si le > template existe. Parce que s'il n'existe pas il retournera une erreur, > Or, je souhaite que s'il n'existe pas, il retourne le template du > plugin. Ca serait une solution mais je devrai tester à chaque coup si > le template est surchargé ou pas par un file_exists(); > > Cordialement, > Stéphane par l'intermédiaire de Mathieu. > > On 25 mai, 23:26, lionel chanson <[email protected]> wrote: >> Alors là si t'as pas de la chance... Aujourd'hui j'ai travaillé sur un >> prototype et j'ai testé des possibilités pour appeler un template >> existant dans une autre action au lieu de faire un include d'un >> partial. >> >> mon action >> >> public function executeMain(sfWebRequest $request) >> { >> // ici symfony appelle mainSuccess.php >> } >> >> // ici j'ai besoin du mainSuccess.php >> public function executeEditMain(sfWebRequest $request) >> { >> $this->setTemplate('main'); >> } >> >> Pour un plugin tu peux tester soit : >> $this->setTemplate(sfConfig::get('sf_plugins_dir').'/pluginName/moduleName/templates/main'); >> ou >> $this->setTemplate('main', 'moduleName'); // là je sais pas le >> comportement de symfony surtout si tu as overridé le plugin quelque >> part. >> >> ++ >> >> Le 25 mai 2009 10:25, lionel chanson <[email protected]> a écrit : >> >> >> >> > Salut, >> >> > Ce dont j'ai (toujours) du mal à comprendre c'est la logique de la >> > chose et non l'architecture dans le framework. Le cas réel serait >> > quand même plus simple pour répondre, ou au moins te dire je sais pas. >> >> > Par rapport à ta description aparement ton plugin te permet de gérer >> > des catégories et un forum. Si tu le sépares en deux modules c'est >> > qu'il utiliserait la même action et donc le même template pour >> > afficher soit des catégories soit un forum. C'est possible mais n'a de >> > MVC seulement la séparation dans 3 fichiers des données. >> >> > Pour ce qui est de surcharger un template ma question reste en >> > suspens, et les solutions ne changent pas. >> > Le HTML ne supportant pas l'héritage comme PHP il y a déjà une >> > première barrière si le template doit être modifié. >> > Si c'est une réutilisation, il y l'objet sfView et les filtres pour >> > éviter les 200 liens symboliques... mais tu vas avoir 200 cas... >> >> > Je veux bien le nom de ce plugin qui n'est pas capable de gérer un blog ;-) >> >> > Le 22 mai 2009 09:42, Mathieu Tricoire <[email protected]> a >> > écrit : >> >> >> Je vais te donner un exemple pour que tu comprennes peut-être mieux. >> >> J'ai un plugin 'ARBRE'. J'aimerai pouvoir l'utiliser X fois, en lui >> >> donnant des paramètres différent, exemple : "Va chercher dans la table >> >> categories_arbre, ou dans forums_arbre". >> >> Dans ce cas, j'aurai plusieurs fois le plugins arbre avec des données >> >> différentes. Mais pour le moment, je ne pourrai aucunement surcharger >> >> les templates de l'un ou de l'autre je t'explique pourquoi. >> >> Mon plugin ARBRE: >> >> >> dir/ >> >> plugins/ >> >> ARBRE/ >> >> modules/ >> >> monarbre/ >> >> >> Pour pouvoir surcharger le module 'monarbre', il faudrait que dans mon >> >> application j'ai >> >> >> app/ >> >> x/ >> >> modules/ >> >> monarbre/ >> >> >> Or, je souhaite pouvoir faire: >> >> >> app/ >> >> x/ >> >> modules/ >> >> arbre-forums/ >> >> arbre-categories/ >> >> >> Dans ce cas, on peut surcharger sans problèmes les actions comme tu >> >> l'as indiqué, cependant on ne pourra pas surcharger les templates, et >> >> si on surcharge les actions, il faudra impérativement copier les >> >> templates du module provenant du plugin sinon les templates dans le >> >> module ne seront pas trouvés et le module retournera une erreur. >> >> C'est pas que ça soit horriblement gênant, mais je pensais qu'il y >> >> aurait un moyen de surcharger ceci proprement. >> >> J'ai aussi pensé à faire des liens symbolique de 'ARBRE' ayant pour >> >> noms : 'arbre-forums' et 'arbre-categories' et ensuite de les activer >> >> dans le setting, mais je préfererai aussi éviter de me retrouver avec >> >> 200 liens symboliques dans le dossier plugins. >> >> >> J'espère t'avoir un peu éclairé, >> >> >> Cordialement, >> >> Stéphane par l'intermédiaire de Mathieu. >> >> >> On May 18, 3:37 pm, lionel chanson <[email protected]> wrote: >> >>> Faut m'excuser mais j'ai un peu de mal à comprendre la logique de la >> >>> chose. Avoir besoin de 2 fois du plugin dans l'application, c'est >> >>> comme si tu avais besoin de 2 fois d'un module dans la même >> >>> application... faudrait comprendre un peu mieux ton cas. >> >> >>> Pour ce qui est de surcharger un template tu peux pas. Maintenant >> >>> qu'est-ce que tu veux dire par surcharger ? Utiliser le template >> >>> fournit dans le plugin ou le modifier ? >> >>> Dans une réutilisation jette un oeil du côté de sfView->setTemplate(). >> >>> Je peux pas t'aider plus pour ça. >> >>> Pour une modification en général tu reprends à zéro le template. >> >> >>> ++ >> >> >>> Le 18 mai 2009 14:10, Mathieu Tricoire <[email protected]> a >> >>> écrit : >> >> >>> > Ok, cependant les templates ne seront pas surchargés, il faudra les >> >>> > copier en dur dans le module. >> >>> > Est-ce qu'il n'y a pas un moyen de surcharger aussi les templates ? >> >> >>> > Merci. >> >>> > Stéphane par l'intermédiaire de Mathieu. >> >> >>> > On May 18, 9:27 am, lionel chanson <[email protected]> wrote: >> >>> >> Salut, >> >> >>> >> Je pense que tu confonds l'appel d'une application vers une autre par >> >>> >> le biais du routing pour les cms par exemple. >> >> >>> >> Pour ce qui est de ton plugin c'est très simple. Tu crées tes modules >> >>> >> dans ton backend et dans chaque fichier actions.class.php tu les >> >>> >> étends par ton plugin. >> >> >>> >> <?php >> >> >>> >> require_once(sfConfig::get('sf_plugins_dir').'/xPlugin/modules/actions/actions.class.php'); >> >> >>> >> class myxPlugin extends xPluginActions >> >>> >> { >> >> >>> >> } >> >> >>> >> Le 11 mai 2009 17:58, Mathieu Tricoire <[email protected]> a >> >>> >> écrit : >> >> >>> >> > Bonjour, >> >>> >> > Je souhaiterai savoir s'il est possible d'insérer une application >> >>> >> > dans >> >>> >> > un module, il me semble avoir entendu ça. Exemple: >> >> >>> >> > apps/ >> >>> >> > backend/ >> >>> >> > modules/ >> >>> >> > module1/ >> >>> >> > (nouvelle application) >> >> >>> >> > Le but de ceci étant de pouvoir surcharger plusieurs fois un plugin, >> >>> >> > par exemple j'ai un plugin xPlugin : >> >> >>> >> > plugins/ >> >>> >> > xPlugin/ >> >> >>> >> > Je souhaite dans mon backend utilisé deux fois ce plugin dans des >> >>> >> > modules différent >> >> >>> >> > apps/ >> >>> >> > backend/ >> >>> >> > modules/ >> >>> >> > x1/ >> >>> >> > x2/ >> >> >>> >> > Le problème dans ce cas, c'est que je ne pourrai pas automatiquement >> >>> >> > faire comprendre à x1 et x2 qu'ils doivent passer par /plugins/ >> >>> >> > xPlugin/ pour chercher les actions, templates, etc... >> >> >>> >> > Cela fonctionnerai si je mettait qu'un module avec ce nom >> >> >>> >> > apps/ >> >>> >> > backend/ >> >>> >> > modules/ >> >>> >> > xPlugin/ >> >> >>> >> > Dans ce cas les actions présentent dans le plugin le seraient aussi >> >>> >> > dans le modules. C'est ceci que je souhaite, voilà pourquoi je pense >> >>> >> > qu'une application dans un module pourrait solutionner ce problème. >> >> >>> >> > Si quelqu'un sait comment si prendre ou à d'autres idées, >> >>> >> > j'apprécierai son aide. >> >> >>> >> > PS : j'ai déjà pensé à faire des alias de xPlugin (cela doit >> >>> >> > sûrement >> >>> >> > marcher), mais tant qu'à faire, j'aimerai éviter d'avoir 200 alias >> >>> >> > dans mon dossier plugin. >> >> >>> >> > Cordialement. >> >> >>> >> > Stéphane par l'intermédiaire de Mathieu. >> >> >>> >> -- >> >>> >> Tu n'es pas content de ma réponse... >> >>> >> Rendez-vous surhttp://iooooi.labrute.fr/ >> >>> >> Et crie VENGEANCE !!!! >> >> >>> -- >> >>> Tu n'es pas content de ma réponse... >> >>> Rendez-vous surhttp://iooooi.labrute.fr/ >> >>> Et crie VENGEANCE !!!! >> >> > -- >> > Tu n'es pas content de ma réponse... >> > Rendez-vous surhttp://iooooi.labrute.fr/ >> > Et crie VENGEANCE !!!! >> >> -- >> Tu n'es pas content de ma réponse... >> Rendez-vous surhttp://iooooi.labrute.fr/ >> Et crie VENGEANCE !!!! > > > -- Tu n'es pas content de ma réponse... Rendez-vous sur http://iooooi.labrute.fr/ Et crie VENGEANCE !!!! --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/symfony-fr?hl=fr -~----------~----~----~----~------~----~------~--~---
