Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-06-2007 15:03:01

mohamed
Membre
Date d'inscription: 22-06-2007
Messages: 16

[Zend V1 RC1]Afficher une vue

Bonjour tout le monde,
Bein mon problème persiste encore, j'ai désactivé le viewrender et je veux afficher une vue qui se trouve à un emplacement donnée.

du style: j'ai une vue se trouvant dans /view/nimporte.phtml
et je suis dans le controller indexController. Comment faire ça?

Hors ligne

 

#2 25-06-2007 15:20:16

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend V1 RC1]Afficher une vue

Bonjour,

Si tu es dans IndexController, et dans l'action indexAction, tu peux utiliser n'importe quelle vue du répertoire .../views/scripts/index/*.phtml avec le code :

Code:

$this->_helper->viewRenderer->setRender('myview');

Sinon tu peux faire ton traitement et renvoyer sur une autre action avec :

Code:

$this->_forward("myaction","mycontroller");

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 25-06-2007 15:32:10

mohamed
Membre
Date d'inscription: 22-06-2007
Messages: 16

Re: [Zend V1 RC1]Afficher une vue

Merci philippe pour la réponse, en fait j'avait vu ça avant mais supposons que dans l'action vers laquelle je froward, y'a un message que j'écris et que je ne veux pas qu'il s'affiche.
Autrement dis:
.......indexController{
public function myActionAction()
{
           $this->view->message="Salut";
           $this->render();
}
}
et dans l'action qui se trouve dans un autre controlleur myControllerControlleur

public function myAction2Action()
{
           $this->view->erreur="Erreur";
           $this->_forward("index","myAction");
}

Si je fais ca, j'aurais un message qui s'affiche qui est "Salut".
Bon, je suis un peu débutant avec la version 1, je n'y touché qu'à la version 0.2.0 et y'avait une possibilité d'appelé directement la vue sans passer par une action.

Est ce que c'est possible?

Hors ligne

 

#4 25-06-2007 16:10:49

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: [Zend V1 RC1]Afficher une vue

Effectivement, si tu ne veux pas passer par une autre action, tu peux redéfinir le comportement du viewRenderer en lui disant de ne pas mettre le répertoire du controlleur dans la vue que tu utilises :
ça donne un truc du genre :

Code:

$this->_helper->viewRenderer->setNoController(true);

dans ce cas, l'emplacement de ta vue, au lieu de suivre la convention : ":controller/:action.:suffix", elle suit la convention ":action.:suffix".
donc tu peux avoir une vue où tu veux avec un ligne du genre :

Code:

$this->_helper->viewRenderer->setRender('toto/myview');

Je n'ai pas testé, mais ça devrait marcher... J'avoue que personnellement je ne suis pas fan de l'approche ViewRenderer, j'ai fini par le désactiver...

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#5 25-06-2007 17:36:19

mohamed
Membre
Date d'inscription: 22-06-2007
Messages: 16

Re: [Zend V1 RC1]Afficher une vue

Merci, c'est tout ce que je voulais, pb résolu. Comme ça, on n'est pas limité et on peut faire ce qu'on veut, encore merci.

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