Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 12-06-2008 11:07:37

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

[Résolu] Principe et déroulement de l'actionstack()

hello,

je rencontre des difficultés de compréhension et je pense que ceux qui connaissent le framework pourront me répondre assez facilement.

Voila mon soucis:

j'utilise Zend Layout pour définir mon template.
Dans le rendu courant je fais appel à une action stack.
Mais dès lors que je lui fais un appel mon display n'affiche plus le mécanisme de template.

voila mon code du controller

Code:

    public function indexAction() 
    { 
      // Un peu de logique pas bien méchante
     //$this->_helper->actionStack("bestSite", "bloc", null);

    }

Dans ce déroulement pas de pb, j'ai bien mon contenu courant qui est affiché à l'endroit spécifié dans le template.

Mais si je décommente la ligne de l'action stack, le rendu n 'est plus du tout le même.
Je n'ai plus le contexte du template par contre j'ai bien la vue courante + la vue de l'action bestSite du controlleur bloc afficher l'un après l'autre.

Donc comment rester dans le contexte courant, afin d'ajouter différent éléments de bloc à mon render courant ?
Ou est ce qu'actionStack n'est pas dédié à cela ?  (Perso j'ai lu la doc mais ce n'est pas clair pour moi)

D'avance merci

PS: j'essaye de widgetiser au mieux mes blocs afin de pouvoir simplement les réutiliser dans les autres pages.

Dernière modification par bucheron (12-06-2008 15:22:31)

Hors ligne

 

#2 12-06-2008 11:26:40

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Principe et déroulement de l'actionstack()

Perso pour utiliser l'action stack je procède ainsi

Code:

$actionStack = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
$actionStack->actionToStack($options['action'], $options['controller'], $options['module'], $options['params']);

Pour le coup du segment de réponse en fait à la fin de l'action je fais

Code:

$this->render('template', 'nomSegment');

Hors ligne

 

#3 12-06-2008 11:43:30

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Résolu] Principe et déroulement de l'actionstack()

euhhh je capte pas trop ou peut etre j'ai pas assez donné de détail.

Voila l'extrait de mon bootstrap qui instancie le zend layout:

Code:

// activation des layouts
Zend_Layout::startMvc($config->layout); 
/* Extrait de mon fichier ini
*layout.layout     = template
*layout.contentKey = content
*layout.layoutPath =  ../application/views/layouts
*/

et à chaque fois que je fais appel à l'action stack je sors du contexte du layout.

De plus, j'ai fais un test, dans mon fichier index.phtml  (donc rendu courant) j'ai essayé de également un appel au bloc comme ceci:

Code:

      <?php $this->action("bestSite", "bloc", null); ?>

mais la c'est encore pire, je ne suis toujours pas dans le rendu du layout et en plus on n'affiche meme plus le rendu de bestSite.

Hors ligne

 

#4 12-06-2008 12:10:28

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Principe et déroulement de l'actionstack()

Si tu met ca dans ta vue normal ca marche pas, t'as oublié le echo big_smile

Code:

<?php echo $this->action("bestSite", "bloc", null); ?>
//ou encore si tu a l'extension shot_open_tag
<?=$this->action("bestSite", "bloc", null); ?>

Sinon je trouve bizarre que ca disable le layout
Perso je n'utilise plus l'actionStack. J'ai plutôt l'habitude d'appeller des actions soit dans mon layouts soit dans ma vue (cf code ci dessus smile )

Hors ligne

 

#5 12-06-2008 13:00:55

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Résolu] Principe et déroulement de l'actionstack()

En effet j'avais oublié le echo.

Mais le résultat est le même je sors du contexte du layout et je sais pas pourquoi.
Sachant que si l'utilisation de l'actionStack ne rentre pas en conflit avec l'utilisation du Zend layout, il n'y a apparement aucune raison de ce problème d'affichage !!!!!

Hors ligne

 

#6 12-06-2008 14:26:08

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Résolu] Principe et déroulement de l'actionstack()

Je comprends pas trop le problème, un coup de débuggeur avec des bons breakpoints mettra tout de suite le doigt sur le problème.

Hors ligne

 

#7 12-06-2008 15:22:12

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Résolu] Principe et déroulement de l'actionstack()

Honte à moi,

en fait dans mon bloc controlleur j'avais une clause dans le predispatch qui annuler le layout
        $this->_helper->layout->disableLayout();

car je croyais qu'il fallait le désactiver pour qu'il n'y ai pas d'effet cascade.

Erreur de newbie !!!!!!

Hors ligne

 

#8 12-06-2008 15:45:29

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Résolu] Principe et déroulement de l'actionstack()

Tu as utilisé le débuggeur ?
C'est vraiment un outil indispensable lorsqu'on développe avec ZF ( ou plus généralement, avec bcp d'objets PHP )

Hors ligne

 

#9 12-06-2008 15:49:43

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Résolu] Principe et déroulement de l'actionstack()

Non, en fait je n'ai pas réussit à le configurer !!!

est ce que tu connais un tuto qui permet de le configurer ?

PS: j'utilise bien Zend studio pour mon env de dev ...

Hors ligne

 

#10 12-06-2008 15:58:06

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Principe et déroulement de l'actionstack()

Y'a pas mal de disucssion sur le forum à propos de debuggers (je les ai personnellement utilisé big_smile ) pour Eclipse - du coup ça devrait marcher pour Zend Studio... A voir.

Hors ligne

 

#11 12-06-2008 16:54:34

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [Résolu] Principe et déroulement de l'actionstack()

Pour Zend Studio (for Eclipse) ya presque rien à faire : une dll à copier (sous Windows), 2 lignes à ajouter à php.ini, et c'est parti ^^

Hors ligne

 

#12 12-06-2008 17:02:55

bucheron
Membre
Date d'inscription: 30-05-2008
Messages: 138

Re: [Résolu] Principe et déroulement de l'actionstack()

ok bon je vais me pencher dessus alors.

Merci 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