Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
J'essaye de mettre en place pour éviter d'ajouter dans chaque controleur l'appel du header et du footer un moyen pour que cela se fasse en automatique.
Pour cela j'ajoute un helper :
require_once 'Zend/Controller/Action/Helper/Abstract.php';
class Action_Helper_header extends Zend_Controller_Action_Helper_Abstract {
public function postDispatch() {
$this->getResponse()
->insert('header', $this->getActionController()->view->render('header.phtml'));
}
}
et dans mon index.php :
Zend_Controller_Action_HelperBroker::addHelper(new Action_Helper_header);
Mon helper fonctionne correctement sauf que je n'arrive pas à utiliser ma classe perso pour lire mes classes métiers dans le header.
Y a t il quelque chose de particulier à faire ou avez vous une autre solution pour faire un header/footer automatique ?
Hors ligne
Perso, je n'ai pas fait comme ca.
Voici presque tout mon layout :
<body> <?php echo $this->partial('header.phtml') ?> <?php echo $this->action('menu','index', 'default', array('module' => Zend_Controller_Front::getInstance()->getRequest()->getParam('module'))) ?> <div id="containerCols"> <div id="left"> <?php echo $this->action('status','index') ?> <?php echo $this->layout()->sidebar ?> </div> <div id="content"> <?php echo $this->layout()->content; ?> </div> <div class="clear"> </div> </div> </div> <?php echo $this->partial('footer.phtml') ?> </body> </html>
* Les partials n'appel aucuns controlleur, c'est juste l'application d'un vue
* 'action($action, $controller, $module, $params)' ca te permet d'appelé une action ou qu'elle soit.
* layout()->sidebar -> provient d'une commande getResponse()->insert (si cette commande n'a jamais eut lieu, biensur, ca n'affiche rien
* layout()->content : la ou s'affiche l'action courante
Dans ton cas, alors, j'utiliserais action, car si j'ai bien compris, tu veux appelé une action a chaque fois.
Le getResponse()->insert, je ne l'utilise que lorsque certains controlleur en ont besoin.
J'espère que ca va t'aider
Dernière modification par nORKy (13-03-2008 16:50:57)
Hors ligne
Merci,
Effectivement je crois que je me complique la tache. Je vais essayer d'utiliser action() que je n'avais pas encore vu. Ca va je pense me simplifier la vie
Hors ligne
Pages: 1