Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-03-2008 16:33:32

ledahu
Membre
Date d'inscription: 13-03-2008
Messages: 69

Zend_Layout et ajout automatique header/footer pour chaque controleur

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

 

#2 13-03-2008 16:50:18

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: Zend_Layout et ajout automatique header/footer pour chaque controleur

Perso, je n'ai pas fait comme ca.
Voici presque tout mon layout :

Code:

<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">&nbsp;</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)


----
Gruiiik !

Hors ligne

 

#3 13-03-2008 17:07:43

ledahu
Membre
Date d'inscription: 13-03-2008
Messages: 69

Re: Zend_Layout et ajout automatique header/footer pour chaque controleur

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 smile

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