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

Zend Framework PHP Discussion :

r�cup�rer un param�tre dans zend view


Sujet :

Zend Framework PHP

  1. #1
    Membre confirm�
    Inscrit en
    Mars 2009
    Messages
    62
    D�tails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 62
    Par d�faut r�cup�rer un param�tre dans zend view
    Bonjour,
    j'ai un petit probl�me pour acc�der � une valeur que j'ai envoy� par le contr�leur vers ma vue :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     $this->view->info="valeur";
    pour r�cup�rer cette valeur je fais alors :
    $this->info
    mais je trouve un null, pourtant avec var_dump($this) dans la vue je vois bien ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
        ...
              public 'info' => string 'valeur' (length=4)
              public 'form' => 
    ...
    comment je fais, svp !!

  2. #2
    Membre Expert
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2012
    Messages
    631
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2012
    Messages : 631
    Par d�faut
    bonjour,

    peut-on voir l'action ainsi que la vue qui lui est associ�e?

  3. #3
    Membre confirm�
    Inscrit en
    Mars 2009
    Messages
    62
    D�tails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 62
    Par d�faut
    oui bien sur, je pr�cise aussi que je n'est pas �crit le code, je suis charg� de le modifier
    dans le contr�leur j'ai le code suivant (r�sum�):
    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
     
    class FoldersController extends Project_Controller_Action_Backoffice
    {
    ...
     public function editAction(){
    ...
     $foldersTable		= new Model_Folders();// zend_db
     
      $form			= new Backoffice_Form_Folders();// zend_form
     
      $folder			= $foldersTable->find($this->_getParam('id'))->current();
     
       $this->view->assign('divType','valeur'); //paramètre que je cherche à récupérer
     
       $form->populate($data);
     
       $this->view->form	= $form;
     
     }
    ..
    il y une vue edit associ� � l'action (edit.phtml) :
    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
    23
    24
    25
    26
    27
    28
    <div id="wrapper">
     
    	<!-- Header -->
    	<?= $this->partial('partials/header.phtml'); ?>
    	<!-- Header -->
     
    	<!-- Menu -->
    	<?= $this->partial('partials/menu.phtml'); ?>
    	<!-- Menu -->
     
    	<div style="clear:both"></div>
     
    	<!-- Content Area -->
    	<div id="middlepart">
     
    		<!-- Left column -->
    		<div id="middlecolumn">
     
    			<?= $this->form; ?>
     
    		<!-- Left Column -->
    		</div>
    	<!-- Content -->
    	</div>
    </div>
    <!-- Wrapper -->
     
    <?= $this->partial('partials/footer.phtml'); ?>
    et puis il y a le fichier folders.phtml dont je sais comment on lui fait appel :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    <div >
    ..
    <?= $this->element->NUMDOSSIER; ?> 
    ..
     echo "divType: ".$this->divType; // je fais appel au paramètre envoyé dans le contrôleur.
    </div>
    merci bcp pour votre int�r�t

  4. #4
    Membre Expert
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2012
    Messages
    631
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2012
    Messages : 631
    Par d�faut
    d'apr�s ton code la variable $this->divType assign�e � la vue dans le controlleur n'est jamais affich�e dans edit.phtml. Pour afficher $this->divType � la vue, tu as 2 choix, soit tu l'appeles directement :

    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    //edit.phtml
    <?php
    echo $this->divType;
    ?>

    soit tu appelles le partial folders.phtml(qui affiche $this->divType) dans la vue edit.phtml:


    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    //edit.phtml
    <?php
    //folders.phtml doit être dans views/scripts/partials
    echo $this->partial('partials/folders.phtml'); 
    ?>

  5. #5
    Membre confirm�
    Inscrit en
    Mars 2009
    Messages
    62
    D�tails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 62
    Par d�faut
    �a marche tr�s si je mets
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    //edit.phtml
    <?php
    echo $this->divType;
    ?>
    mais j'aimerais bien acc�der � 'divType' dans folders.phtml, qui ne marche pas, et si j'essaie de faire comme �a :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    //edit.phtml
    <?php
    //folders.phtml doit être dans views/scripts/partials
    echo $this->partial('partials/folders.phtml'); 
    ?>
    on ajoutant folders.phtml dans le dossier partials, alors dans ce cas j'ai une erreur not found ..folders.phtml

    mois je pense puisque dans folders.phtml on fait appel au �l�ments du formulaire sans probl�me alors je pense qu'on peut acc�der � 'divType', sachant que quand je mets var_dump($this) dans folders.phtml, j'ai une ligne qui v�rifie que le variable existe bien :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     public 'divType' => string 'valeur' (length=4)
    il faudrait juste trouver la bonne m�thode

  6. #6
    Membre Expert
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2012
    Messages
    631
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2012
    Messages : 631
    Par d�faut
    pense puisque dans folders.phtml on fait appel au �l�ments du formulaire sans probl�me alors je pense qu'on peut acc�der � 'divType', sachant que quand je mets var_dump($this) dans folders.phtml
    si folders.phtml fait appel aux �l�ments du formulaire c'est qu'il est inclut dans la construction du formulaire.Regarde dans la classe Backoffice_Form_Folders si le fichier folders.phtml est inclut.

  7. #7
    Membre chevronn�

    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    F�vrier 2003
    Messages
    253
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : F�vrier 2003
    Messages : 253
    Par d�faut
    Bonjour,

    A moins d'�tre compl�tement � c�t� de la probl�matique... l'helper de vue partial a pour sp�cificit� d'effectuer le rendu de la vue en �tant isol� du scope de la vue qui l'appelle, et donc il ne peut pas acc�der aux variables d�clar�es dans la vue.

    Pour y rem�dier :
    • Soit passer un second param�tre qui est un tableau cl� / valeurs de ce que l'on veut afficher dans le partial.
    • Soit utiliser render � la place, ce qui est recommand� si on n'a pas besoin de l'isolation... car plus performant.


    La doc officielle : http://framework.zend.com/manual/1.1...nitial.partial

Discussions similaires

  1. [Web Service][SOAP] R�cup�rer des param�tres dans l'ent�te
    Par Dadou dans le forum Biblioth�ques et frameworks
    R�ponses: 4
    Dernier message: 24/01/2008, 13h51
  2. R�ponses: 1
    Dernier message: 06/04/2007, 16h33
  3. r�cup�rer les param�tres dans une url
    Par asetti dans le forum ASP
    R�ponses: 6
    Dernier message: 23/12/2005, 10h08
  4. [WebForms][2.0] R�cup�rer un param�tre dans un hiddenfield
    Par cereal59 dans le forum G�n�ral Dotnet
    R�ponses: 3
    Dernier message: 21/11/2005, 22h56
  5. R�ponses: 1
    Dernier message: 29/08/2005, 14h04

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