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 :
- class Tavurnav extends Zend_Db_Table_Abstract
- {
- protected $_name= 'Avurnav';
- protected $_primary = 'numerotation_avurnav';
- public function findByDate($date_emission) //controles à venir
- {
- if (!isset($date_emission)) {
- die ("Il faut renseigner une date émission" );
- }
- else {
- $select = $this->select()
- ->from ($this)
- -> where ('date_emission = ?', $date_emission);
- $date_em = $this->fetchAll ($select);
- return $date_em;
- }
- }
- // les autres methodes
|
Le formulaire (chemin/forms/ChercheDate.php):
Code :
- class Application_Form_ChercherDate extends Zend_Form
- {
- public function init()
- {
-
-
- $dateemission = new Zend_Dojo_Form_Element_DateTextBox('date_emission');
- $dateemission->setLabel('Date emission du message');
- $submit = new Zend_Form_Element_Submit ('sub');
- $submit->setLabel ('Lancer');
- $this->addElements(array($dateemission,$submit));
- }
- }
|
La vue qui appelle le formulaire (/chemin/cherchedate.phtml)
Code :
- <center> <?php echo $this->title;
- echo "<br/>";
- echo $this->form;
- ?></center>
|
La vue résultat (/chemin/views/script/infonaut/list-date.phtml)
Code :
- foreach ($this->avurnavs as $avnav) {
- echo "Message : " .$avnav->message . "<br />";
- echo "Référence : " . $avnav->reference . "<br />";
- echo "Zone concernée : " .$avnav->zone_concernee . "<br />";
- echo "Date d'émission du message : " . $avnav->date_emission ."<br />";
- echo "********************************************************************* <br />";
- }
|
Et surtout le contrôleur :
Code :
- class InfonautController extends Zend_Controller_Action
- {
- //....
- // Fonction pour créer le formulaire
- public function getForm ($formul) {
- return $formul;
- }
- public function cherchedateAction () {
- $this->view->title = "Recherche par Date";
- $formulaire = $this->getForm(new Application_Form_ChercherDate);
- $this->view->form = $formulaire;
- //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