Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
je recherche qu'elle est bonne façon de faire dans un de mes Controller un render d'une vue d'un module différent.
Je pensais tout d'abord mettre le script de vue dans mon dossier layout et essayé de le récupérer en faisant $this->_helper->layout->render ... mais je n'y suis pas parvenu.
J'ai ensuite essayé d'utiliser le partiel et fait quelque chose comme ça
$this->view->partial('search/import.phtml', 'default', array(
'form' => $form,
'search' => $search,
'paginator' => $search->getPaginator()
));
ça ne fonctionne pas vraiment bien.
Il reste les actionStack mais je ne compte récupérer juste la vue et par une action.
Alors quel est la façon la plus propre et fonctionnelle de faire ce que je demande car je ne vois pas trop à par copier mon code.
A+
Dernière modification par citronbleu-v (18-12-2009 11:44:53)
Hors ligne
Bon j'ai réussit d'une façon un peut archaïque je trouve mais bon ça fonctionne
// Action d'un controller Foo du module Foo ...... echo $this->view->partial('search/import.phtml', 'default', array( 'form' => $form, 'search' => $search, 'paginator' => $search->getPaginator() )); $this->_helper->viewRenderer->setNoRender();
Hors ligne
Hello,
Si j'ai des vues que je dois rendre dans des modules différents, j'ai tendance à la remonter dans la hiérarchie :
application |- module1 |- views |- scripts |- import.phtml // AVANT |- views |- scripts |- import.phtml // APRES
Moyennant l'inclusion de ce dossier global dans ta ressource d'application View :
$view->setBasePath(APPLICATION_PATH . '/views', 'Application');
Ton code devient simplement :
$this->view->form = $form; $this->view->search = $search; $this->view->paginator = $search->getPaginator(); $this->render('import.phtml', null, true);
@+
Hors ligne
Pages: 1