IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres composants PHP Discussion :

appeler un actionStack dans un template [ZF 1.9]


Sujet :

Autres composants PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut appeler un actionStack dans un template
    voilà, la question est résumé dans l'intituler, comment je peux appeler un actionStack dans une vue ?

    dans mon bootStrap, je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH .'/controllers/helpers');
            $actionStack = Zend_Controller_Action_HelperBroker::getStaticHelper('actionStack');
            $actionStack->actionToStack('footer','partial','front');
            $actionStack->actionToStack('header','partial','front');
            $actionStack->actionToStack('menutop','partial','front');
            $actionStack->actionToStack('menuvertical','partial','front');
    j'arrive très bien à reprendre le rendu du footer, header, menutop dans mon layout en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?='<?xml version="1.0" encoding="UTF-8"?>'?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <?=$this->headTitle() ?>
        <?=$this->headMeta() ?>
        <?=$this->headLink() ?>
        <?=$this->headStyle() ?>
        <?=$this->headScript() ?>
    </head>
    <body>
        <div id="main">
            <?=$this->layout()->header;?>
            <div id="content">
                <?=$this->layout()->menutop;?>
     
                <?=$this->layout()->content;?>
            </div>
            <?=$this->layout()->footer;?>
        </div>
    </body>
    </html>
    mais mon pb c'est que l'actionStack "menuVertical" dois être placer dans le rendu de content. Je cherche donc faire le rendu du stack dans le template d'une action. Par exemple dans /application/view/script/index/index.phtml

    Est ce que c'est possible ?
    Et comment faire ?

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Est-ce que c'est possible ? Peut-être, sûrement... Mais je n'ai pas envie de creuser car le vrai problème, c'est qu'il n'est absolument pas normal d'appeler des actions à partir d'une vue.

  3. #3
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    Super merci, cette réponse m'avance bien !

    Finalement, j'ai laisser tomber les actionStack, je ne trouve pas ça clean.
    Mais comme je suis bon joueur, je vais donner une solution alternative, pour ceux qui un jour ce poserais la question.

    J'ai pas trouver comment appeller les actionsStack dans une vue. Mais j'ai trouver comment appeler une action dans une vue. Ce qui revient presqu'au même. (j'ai bien dis presque, car Zend le gère pas pareil derrière)

    il suffit de faire dans votre vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->action('mon_action','mon_controller'[,'mon_module'])?>
    Ce petit bout de code appellera, et fera le rendu (sans layout) de l'action du controller demander dans la vue que vous souhaiter.

    Merci s.n.a.f.u pour ton aide précieuse.

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    A priori, le menu vertical ne sera jamais affiché seul en tant que vue principale, donc pourquoi ne pas plutôt utiliser l'aide de vue Partial ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] appelle d'une fonction dans le template
    Par scarabe088 dans le forum Symfony
    Réponses: 1
    Dernier message: 13/09/2011, 21h56
  2. Réponses: 4
    Dernier message: 27/04/2011, 15h27
  3. [WPF][C#] appeler un évenement dans un template
    Par azerty53 dans le forum C#
    Réponses: 2
    Dernier message: 25/01/2008, 18h49
  4. Réponses: 3
    Dernier message: 23/06/2004, 21h17
  5. Appel de procédure dans une page ASP
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 02/04/2004, 16h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo