Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-03-2008 16:42:50

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Réutilisation de controller sur plsuieurs modules

Bonjour
Est-ce qu'il y a une possibilité d'utiliser, d'appeler des controllers depuis  tous les modules ? Je m'explque je souhaiterai utiliser/appeller par exemple /auth/register dans tous les modules mais avec le layout du module. Avoir un controller commun à tous lesmodules.

Dernière modification par alien7 (19-03-2008 16:43:52)


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#2 20-03-2008 01:22:12

xorax
Membre
Lieu: Lyon
Date d'inscription: 30-10-2007
Messages: 12
Site web

Re: Réutilisation de controller sur plsuieurs modules

tu peux étendre le Zend_Controller_Action pour ajouter la méthode que tu veux et ainsi construire tes controllers à partir de cette nouvelle classe.

Hors ligne

 

#3 20-03-2008 10:18:03

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Réutilisation de controller sur plsuieurs modules

Oui mais pour les vues je fais comment ? Ca marchera ? Je veux registerAction + sa vue.
De plus j'ai deja etendu Zend_Controller_Action pour le init.

Ce que je veux c'est creer un action registerAction + sa vue, que je peux réutiliser dans n'importe quel module.


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#4 20-03-2008 19:46:23

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Réutilisation de controller sur plsuieurs modules

Il est possible de modifier le chemin des vues via une méthode et donc tu peux effectivement faire ce que tu veux en mettant par exemple ton code dans le init() du controller.
C'est une bonne idée ma foi!
smile

Hors ligne

 

#5 20-03-2008 20:35:01

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Réutilisation de controller sur plsuieurs modules

D'accord ca semble etre une bonen idée, je n'y avait pas penser mais comment faire pour le controller.
Je fais donc comme cela :

Code:

class Module_IndexController extends Zend_Controller_Action
{
    public function registerAction()
    {
        // Je definit le path de la vue
        $this->view->setScriptPath('./app/default/views/scripts');
    }
}

mais voilà le script à un formulaire donc ca me pose problème.


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#6 20-03-2008 22:14:25

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Réutilisation de controller sur plsuieurs modules

Je ne comprends pas très bien ta problématique.
ton layout register reste un simple formulaire avec
- le login
- le mot de passe
- le submit

tu peux récuperer sans trop de soucis l'url courante et le passer en hidden
Cet hidden permet de rediriger ensuite sur la page voulue

Pour chaque module, tu fais une CSS, qui change la présentation de ton layout.

En tout cas, je pense que je ferrai comme ça, enfin, si j'ai compris ta problématique car je ne vois pas l'intérêt que le contrôleur Toto gère le layout de titi, mais ton exemple est peut être mal choisi pour expliquer ta problématique. D'autant plus, il n'y a pas de raison que le module Toto gère une Action login , qui me semble plus logique d'associer à l'user.

De meme pour la partie register qui est le but de ta question.

Hors ligne

 

#7 20-03-2008 23:47:20

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Réutilisation de controller sur plsuieurs modules

mais voilà le script à un formulaire donc ca me pose problème.

tu peux utiliser le view_helper partial pour rendre juste le bout du formulaire  (en fonction du form tu envoye un chemin de script)

Hors ligne

 

#8 21-03-2008 13:50:24

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Réutilisation de controller sur plsuieurs modules

J'arrive très bien à inclure le formulaire avec le view_helper partial, mais y'a encore la derniere etape que je ne comprends pas.
Dans mon formulaire j'ai ca :

Code:

<form action="/auth/register" ..>
...
</form

Je crée donc dans mon module Admin un controller auth action register avec sa vue dans le code est :

Code:

<?php echo $this->partial("auth/register.phtml", "default"); ?>

Mais lorsque je submit mon formualire, si y'a une erreur je me retrouve dans le module default au lieu du module Admin.
J'ai vraiment du mal à expliquer la situation, je suis vraiment desolé.


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages