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

MVC PHP Discussion :

[Zend_Layout][1.5.3]Visibilité des variables


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Par défaut [Zend_Layout][1.5.3]Visibilité des variables
    Bonjour,

    débutant sous ZF, je suis confronté à un souci de visibilité de variables.
    En effet, des variables passées de mon contrôleur à ma vue ne sont pas accessibles.

    J'utilise un layout, serait-ce lié ?

    Pour résumer, voici la structure de mon code :
    Layout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php echo $this->layout()->left ?>
    Controleur :
    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
     
        public function postDispatch()
        {
            $actionName = $this->getRequest()->getActionName();
            $this->render('menu', 'left');
            $this->render($actionName, 'right');
        }
     
        public function indexAction()
        {
            $this->view->message = "Du blabla ...";
        }
     
        public function menuAction()
        {
            $this->view->message = 'Un autre blabla';
        }
    Vues :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        <?php echo $this->message; ?>
    Le message n'apparait pas dans la page générée, voyez-vous une raison à ce refus ?

    Par avance merci.

  2. #2
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    En affichant un texte en dur juste à côté du code de ta vue, s'affiche t'il?

    Il est possible que ce ne soit pas le code qui soit mal réalisé mais juste que la vue ne soit pas chargée parce qu'il y a une erreur ailleurs.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Par défaut
    Oui, les éléments non-dynamiques dans la vue s'affiche correctement.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Par défaut
    Nouvel élément surprenant, j'utilise une fonction init dans mon controleur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	public function init()
    	{
    		$this->view->user = Zend_Auth::getInstance()->getIdentity();
    	}
    La variable user est bien accessible à ma vue en revanche.

    Je m'y perds

  5. #5
    Membre émérite
    Avatar de gwinyam
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 162
    Par défaut
    Pour le coup il est clair que c'est surprenant.

    T'as essayé avec des valeurs numériques et non des String? Voir si ce n'est pas un blocage. Même si j'en doute plus que fortement

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 34
    Par défaut
    Mon problème venait de mon manque de compréhension du modèle MVC
    tel qu'il est utilisé dans le Zend Framework.

    La fonction render permet effectivement d'effectuer un rendu statique
    mais cela ne déclenche en aucun cas l'action associée.

    Pour régler mon problème, j'ai donc utilisé un plugin qui appelle actionStack.
    Ceci permet alors quel l'action souhaitée soit appelée correctement dans la boucle de dispatch.

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

Discussions similaires

  1. visibilité des variables d'un constructeur
    Par med_anis_dk dans le forum Langage
    Réponses: 4
    Dernier message: 06/05/2007, 21h07
  2. Réponses: 6
    Dernier message: 06/04/2007, 14h10
  3. Visibilité des variables
    Par Akhan dans le forum MATLAB
    Réponses: 1
    Dernier message: 22/01/2007, 23h22
  4. problème de visibilité des variables dans un include
    Par d1g-2-d1g dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2005, 09h35
  5. [EasyPHP] problème de visibilité des variable dans les includes
    Par d1g-2-d1g dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/10/2005, 01h55

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