Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-02-2009 09:03:19

renaud
Nouveau membre
Date d'inscription: 05-02-2009
Messages: 5

Accéder à des variables assignées dans un "ViewScript"

Bonjour à tous,

Après avoir parcouru de long en large le forum, il semblerait que la réponse à ma question ne s'y trouve pas, je me permet donc de vous la poser.

C'est une question que j'ai déjà relancé sur un forum anglo-saxon et qui n'a pas trouvé de réponse non plus :
http://www.zfforums.com/zend-framework- … -2120.html

Donc voilà, pour la mise en forme de mes formulaires implémentés via Zend_Form, j'utilise un "template" ViewScript qui me permet une mise en forme plus libre qu'avec les décorateurs, tout serait parfait si ce n'est ce petit bémol : Je n'arrive pas à accéder à certaines variables assignées à ma vue dans mon controleur, je m'explique :

Mon application est localisée et je peux parfaitement traduire mes libellés depuis le "viewscript" en appelant la méthode de traduction de la vue :

Code:

$this->_('effective_dates');

fonctionne très bien dans :

Code:

    <fieldset>
        <legend><?php echo $this->_('effective_dates'); ?></legend>
        <div id="date">
            <?php echo $this->element->Effective_From; ?>
            <?php echo $this->element->Ui_Effective_From; ?>
            <?php echo $this->element->Effective_To; ?>
            <?php echo $this->element->Ui_Effective_To; ?>
        </div>
    </fieldset>

Par contre, une autre variable que j'aurai instanciée dans mon contrôleur  :

Code:

                $this->view->edit = (
            $this->registry->get('action') == 'edit' ?
            TRUE :
            FALSE
        );

est inaccessible mon "viewscript" mais accessible dans ma vue :

Code:

Zend_Debug::dump($this->edit);

me renvoie systématiquement "NULL"


C'est très pénible car c'est pour moi indispensable d'avoir accès à ces valeurs depuis mon "template".
Auriez vous une idée de comment réaliser ceci ?
Ou bien est-ce tout bonnement impossible ?

Merci d'avance à tous de vous préoccuper de ce souci smile

Dernière modification par renaud (05-02-2009 09:29:22)

Hors ligne

 

#2 05-02-2009 10:30:22

renaud
Nouveau membre
Date d'inscription: 05-02-2009
Messages: 5

Re: Accéder à des variables assignées dans un "ViewScript"

J'ai un début de réponse à mon problème en me re-re-re-penchant sur le manuel.
Il est dit :

Code:

The ViewScript decorator requires a 'viewScript' option, either provided to the decorator, or as an attribute of the element.
It then renders that view script as a partial script, meaning each call to it has its own variable scope; no variables from the view will be injected other than the element itself.

Donc ça ne semble pas possible de le faire directement... :'(
Cela ne m'explique pas non plus pourquoi j'arrive quand même à appeler ma méthode de traduction.

Auriez-vous donc des pistes sur lesquelles m'orienter pour arriver à mes fins ?

Dernière modification par renaud (05-02-2009 10:31:40)

Hors ligne

 

#3 05-02-2009 12:47:10

nick
Membre
Date d'inscription: 31-05-2008
Messages: 84

Re: Accéder à des variables assignées dans un "ViewScript"

j'avais rencontré le même problème : je voulais utiliser ma variable $this->view->baseUrl dans un partial loop.
finalement je n'avais pas utilisé le script.

Dernière modification par nick (05-02-2009 12:47:35)

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