inclure une vue dans une autre vue avec ZendFramework ?

inclure une vue dans une autre vue avec ZendFramework ? - PHP - Programmation

Marsh Posté le 21-05-2009 à 00:02:06    

Le titre n'est peut être pas claire, mais mon idée ne l'est pas vraiment non plus !  
 
En gros...  
Ma 1ère vue affiche une boite de recherche, une liste de compagnies dans une table html imbriqué dans une div .
vue1

Code :
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <body>
  6. <form  id="form1">
  7. <span  id="lbl_search">Tapez mot clé</span><br /><input type="text" id="txt_search" name="txt_search" onkeyup="searchList(this,'Compagnies');" autocomplete="off" />
  8. <?php
  9.         echo "<div id=\"list\">";
  10.         echo "<table>";
  11.         foreach($this->compagnies as $compagnie) :
  12.             echo "<tr>";
  13.             echo "<td>" . $compagnie->id_compagnie . "</td>";
  14.             echo "<td>" . $compagnie->nom . "</td>";
  15.             echo "<td>" . $compagnie->ville . "</td>";
  16.             echo "<td>" . $compagnie->date_creation . "</td>";
  17.             echo "</tr>";
  18.         endforeach;
  19.         echo "</table>";
  20.         echo "<div>";
  21. ?>
  22. </body>
  23. </html>


 
Dès qu'on tape quelque chose dans la boite de recherche, ça change la table html via une requête en ajax. La vue utilisée pour la requête ajax est comme suit :
 

Code :
  1. <?php
  2.         echo "<table>";
  3.         foreach($this->compagnies as $compagnie) :
  4.             echo "<tr>";
  5.             echo "<td>" . $compagnie->id_compagnie . "</td>";
  6.             echo "<td>" . $compagnie->nom . "</td>";
  7.             echo "<td>" . $compagnie->ville . "</td>";
  8.             echo "<td>" . $compagnie->date_creation . "</td>";
  9.             echo "</tr>";
  10.         endforeach;
  11.         echo "</table>";
  12. ?>


 
Ça répète exactement la table de la 1ère vue. Je demande donc s'il n'y a pas un moyen d'appeler la deuxième vue dans la première sous la forme d'un include ou quelque chose du genre ou peut être avec des templates !
 
J'utilise Zend Framework.  
 
Merci d'avance

Reply

Marsh Posté le 21-05-2009 à 00:02:06   

Reply

Marsh Posté le 21-05-2009 à 01:10:42    

voir du coté d'action stack?
 
sinon évite de mettre du HTML dans des echo. C'est moche ;)


---------------
VNR CAMENBERT
Reply

Marsh Posté le 21-05-2009 à 01:12:34    

ok ! je regarde du côté de smarty en fait qui à l'air de faire ce que je veux !!
pour l'html , tu fais comment pour la boucle sans le mettre dans un echo, tu ouvres une balise PHP à chaque fois ?

Reply

Marsh Posté le 21-05-2009 à 01:21:39    

oui c'est plus propre ;)

Reply

Marsh Posté le 21-05-2009 à 01:25:51    

merci du tuyau ;)

Reply

Marsh Posté le 21-05-2009 à 14:45:16    

Tu peux le faire directement avec Z.F, à mettre dans une vue :

Code :
  1. <?php echo $this->render('ta_page.phtml'); ?>
 

et dans ta page tu ne mets que ta boucle par exemple.
à toi de décomposer ton code.


Message édité par PunkRod le 21-05-2009 à 14:45:41
Reply

Marsh Posté le 21-05-2009 à 14:50:38    

Ok merci !! Finalement, j'ai utilisé smarty pour les vues et j'y ai trouvé plusieurs truc intéressants !  
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed