Zend : appel de 2 pages même contrôleur

Zend : appel de 2 pages même contrôleur - PHP - Programmation

Marsh Posté le 27-09-2012 à 09:53:25    

bonjour,
 
Je cherche à réaliser un site web, en m'appuyant sur Zend Framework 1.11.11, en utilisant le pattern MVC, d'un site de gestion de messages de navigation.
 
Cependant, je me retrouve face à une impasse (je me doute que ça doit être tout simple, mais je vois pas comment me débloquer). En effet, j'ai créé des classes formulaires (une de recherche par date, une d'ajout) : que 2 pour le moment. Cela s'enrichira au fur et à mesure. Dans mon contrôleur, j'appelle mon formulaire, je l'affiche dans une page, mais je ne vois pas comment lancer l'action, ni surtout comment afficher le résultat en appelant la page de résultat.
 
voici la partie du code de la méthode du modèle concerné :

Code :
  1. class Tavurnav extends Zend_Db_Table_Abstract
  2. {
  3.  protected $_name= 'Avurnav';
  4.  protected $_primary = 'numerotation_avurnav';
  5. public function findByDate($date_emission) //controles à venir
  6.  {
  7.  if (!isset($date_emission)) {
  8.   die ("Il faut renseigner une date émission" );
  9.   }
  10.   else {
  11.   $select = $this->select()
  12.      ->from ($this)
  13.      -> where ('date_emission =  ?', $date_emission);
  14.    $date_em = $this->fetchAll ($select);
  15.    return $date_em;
  16.     }
  17.  }
  18. // les autres methodes


 
Le formulaire (chemin/forms/ChercheDate.php):  

Code :
  1. class Application_Form_ChercherDate extends Zend_Form
  2. {
  3.     public function init()
  4.     {
  5.  
  6.  
  7.     $dateemission = new Zend_Dojo_Form_Element_DateTextBox('date_emission');
  8. $dateemission->setLabel('Date emission du message');
  9. $submit = new Zend_Form_Element_Submit ('sub');
  10. $submit->setLabel ('Lancer');
  11. $this->addElements(array($dateemission,$submit));
  12.     }
  13. }


 
La vue qui appelle le formulaire (/chemin/cherchedate.phtml)

Code :
  1. <center> <?php echo $this->title;
  2. echo "<br/>";
  3. echo $this->form;
  4. ?></center>


 
 
La vue résultat (/chemin/views/script/infonaut/list-date.phtml)

Code :
  1. foreach ($this->avurnavs as $avnav) {
  2.     echo "Message : " .$avnav->message . "<br />";
  3.     echo "Référence : " . $avnav->reference . "<br />";
  4.     echo "Zone concernée : " .$avnav->zone_concernee . "<br />";
  5.     echo "Date d'émission du message : " . $avnav->date_emission ."<br />";
  6.     echo "********************************************************************* <br />";
  7. }


 
Et surtout le contrôleur :

Code :
  1. class InfonautController extends Zend_Controller_Action
  2. {
  3. //....
  4. // Fonction pour créer le formulaire  
  5. public function getForm ($formul) {
  6.  return $formul;
  7.  }
  8. public function cherchedateAction () {
  9.  $this->view->title = "Recherche par Date";
  10.  $formulaire = $this->getForm(new Application_Form_ChercherDate);
  11.  $this->view->form = $formulaire;
  12.                 //C'est à partir de là que je coince un peu


 
 
J'espère avoir été clair. Toute aide serait la bienvenue. Merci par avance


Message édité par roswellentongues le 27-09-2012 à 09:56:42
Reply

Marsh Posté le 27-09-2012 à 09:53:25   

Reply

Marsh Posté le 28-09-2012 à 09:37:04    

Problème résolu

Reply

Sujets relatifs:

Leave a Replay

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