Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'ai longtemps suivi l'affaire Layout, et pour mon projet, il est temps de commencer à poser les briques avant que cela ne devienne trop chiant à faire
Juste en copiant la code de Julien dans son atelier sur Layout, j'ai une erreur sympathique ..
Fatal error: Call to undefined method Zend_Controller_Action_Helper_ActionStack::actionStack() in C:\xampp\htdocs\wiweb\seelies\index.php on line 90
Le code est le suivant :
$actionStack = Zend_Controller_Action_HelperBroker::getStaticHelper( 'actionStack' ); $actionStack -> actionStack( 'header', 'index' ); $actionStack -> actionStack( 'footer', 'index' );
Sauriez vous m'aider ?
Cordialement,
Hors ligne
Bonsoir,
Bon & bien il semble que j'ai réussit à trouver le problème.
En effet, il semblerait que l'action ne soit pas actionStack mais actionToStack.
Erreur dans l'atelier de Julien ?
Cordialement,
Hors ligne
Probablement oui, je corrigerai ça ^^ Merci.
Au passage, la méthode direct() proxie vers actionToStack() , donc tu peux faire un $this->_helper->actionStack('foo','bar'); depuis une action aussi
++
Hors ligne
Aaaah ! Ca c'est bon !
J'me demandais comment j'allais faire pour mon côté login-ation, j'pense que j'ai ma réponse !
Mici !
Cordialement,
Hors ligne
Hmmm .. Je sèche ..
J'voudrais pouvoir mettre en commun le header et le footer à tous les controller de pages. Par exemple, la page d'accueil, et la page d'inscription. Et déjà là, je vois pas comment faire.
Ensuite, j'ai voulu faire appel à ActionStack dans IndexController mais le script semble tourner en boucle car je tombe sur la limite exceed de 60 secondes.
Je fais ainsi :
function init() { $this -> view -> baseUrl = $this -> _request -> getBaseUrl(); $this -> _helper -> actionStack( 'header' ); }
Le code complet IndexController :
<?php /** * Created on 06/02/2008 * By Adrien Giboire For WiWeb * * @date 06/02/2008 * @author Adrien Giboire */ require_once 'Zend/Controller/Action.php'; class IndexController extends Zend_Controller_Action { function init() { $this -> view -> baseUrl = $this -> _request -> getBaseUrl(); $this -> _helper -> actionStack( 'header' ); } /** Default action. Display home page **/ public function indexAction() { $this->view->message = "test de message"; } public function headerAction() { $this -> view -> titre = 'Atelier Zend_Layout'; $this -> _helper -> viewRenderer -> setResponseSegment( 'header' ); } public function footerAction() { $this -> _helper -> viewRenderer -> setResponseSegment( 'footer' ); } }
Sauriez vous me dire la démarche à adopter ? Merci
Cordialement,
Dernière modification par Lio (26-02-2008 14:32:10)
Hors ligne
Ton action 'header' est dans le controleur indexController n'est ce pas ?
Il y a donc boucle infinie.
Hors ligne
En effet, j'en étais arrivé à la même conclusion
Me reste se problème :
J'voudrais pouvoir mettre en commun le header et le footer à tous les controller de pages. Par exemple, la page d'accueil, et la page d'inscription. Et déjà là, je vois pas comment faire.
Pour l'instant, j'ai un header qui est dans le dossier index. J'fais donc l'assignation pour l'instant dans index.php ( comme dans l'atelier ) et irrémédiablement j'appelle l'action header qui est dans IndexController. Evidemment, ça ne me convient pas ..
Cordialement,
Hors ligne