Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 23-05-2012 12:50:31

croux89
Membre
Date d'inscription: 20-04-2012
Messages: 72

recuper un getParam dans un zend form

bonjour a tous , je me demandais est ce que c'est possible de récuperer la valeur d'un parametre dans un zend form ? ,j'ai une fonction jquery qui me lance mon formulaire comme pop up et j'ai besoin d'un parametre pour que le formulaire fonctionne bien , je voudrais dans mon zend form ajouter une condition sauf que j'ai besoin d'un parametre ,j'ai fais comme ceci mais ca marche pas

Code:

       $id = $this->_getParam('restaurantId');

      $booking = new Zend_Form_Element_Select('booking');
        $booking->setLabel('Booking')
                ->setRequired(false);
     $bookingTable = new Booking();
        $select = $bookingTable->select()->setIntegrityCheck(false)
                             ->from('booking')
                             ->join('restaurant','restaurant.restaurantId=booking.Restaurant_restaurantId')
                        ->where('restaurant.restaurantId ='.$id);
        foreach ($bookingTable->fetchAll($select) as $c) {
            $booking->addMultiOption($c->BookingId, $c->bookingDate);
        }

Dernière modification par croux89 (23-05-2012 19:11:57)

Hors ligne

 

#2 23-05-2012 15:46:26

kyfr59
Nouveau membre
Date d'inscription: 06-01-2012
Messages: 5

Re: recuper un getParam dans un zend form

salut,

Tu récupères la valeur dans ton controlleur, et tu la passes en paramètre à ton formulaire.

Franck.

Hors ligne

 

#3 23-05-2012 15:54:13

croux89
Membre
Date d'inscription: 20-04-2012
Messages: 72

Re: recuper un getParam dans un zend form

j'ai pas compris peux tu me donner un exemple stp

Hors ligne

 

#4 24-05-2012 01:02:16

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: recuper un getParam dans un zend form

Code:

$param = $this->getRequest()->getParam('monParam');
$form = new Mon_Form($param);

Hors ligne

 

#5 24-05-2012 11:33:37

croux89
Membre
Date d'inscription: 20-04-2012
Messages: 72

Re: recuper un getParam dans un zend form

je vois pas comment je pourrai utiliser sa , moi je voudrais récupérer la valeur dans mon form est non pas dans mon controller , comment j'ai expliquer au début je voudrais recuperer la valeur dans mon zend form afin de pouvoir mettre la condition dans mon zend form element select
le $id dans la clause where comment je peux le recuperer dans le zend form avant de generer mon zend form element select

Code:

      $booking = new Zend_Form_Element_Select('booking');
        $booking->setLabel('Booking')
                ->setRequired(false);
     $bookingTable = new Booking();
        $select = $bookingTable->select()->setIntegrityCheck(false)
                             ->from('booking')
                             ->join('restaurant','restaurant.restaurantId=booking.Restaurant_restaurantId')
                        ->where('restaurant.restaurantId ='.$id);
        foreach ($bookingTable->fetchAll($select) as $c) {
            $booking->addMultiOption($c->BookingId, $c->bookingDate);
        }

Hors ligne

 

#6 24-05-2012 16:45:57

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: recuper un getParam dans un zend form

Dans ton contrôleur tu récupère ton paramètre, tu instancie ton formulaire avec le paramètre récupéré. Dans ta classe de formulaire tu utilise le paramètre pour récupérer les éléments de ton select, je ne vois pas ou tu bloque c'est de la POO :-/

Hors ligne

 

#7 24-05-2012 17:10:05

croux89
Membre
Date d'inscription: 20-04-2012
Messages: 72

Re: recuper un getParam dans un zend form

c'est la partie de mettre le paramètre dans le formulaire sa me bloque je sais pas comment ?
comment donner la paramètre a mon zend form ???? tu dis mettre le paramètre lors de l'instanciation du form mais dans le zend form comment donner a ma condition $select ce paramètre c'est la ou je bloque , est ce que je dois donner le paramètre dans la fonction init ?????

Code:

 
class BookingPromotionForm extends App_Backoffice_Form{

     public function init($c) {
 
        $this->setName('Booking Promotion');
        
        $booking = new Zend_Form_Element_Select('booking');
        $booking->setLabel('Booking')
                ->setRequired(false);
        
        $bookingTable = new Booking();
    $select = $bookingTable->select()->setIntegrityCheck(false)
                             ->from('booking')
                              ->join('promotion','promotion.Booking_BookingId=booking.BookingId')
                              ->where('booking.Restaurant_restaurantId ='.$c);
        foreach ($bookingTable->fetchAll($select) as $c) {
            $booking->addMultiOption($c->BookingId, $c->bookingDate);
        }

Hors ligne

 

#8 24-05-2012 17:36:58

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: recuper un getParam dans un zend form

Tu surcharge le constructeur de Zend_Form quelques choses dans le genre :

Code:

[lang=php]
class Form_BookingPromotion extends Zend_Form
{
  private $_restaurantId;

  public function __construct(array $params = array())
  {
    $this->_restaurantId = $params['restaurantId'];
    parent::__construct();
  }

  public function init()
  {
    // création des elements ici
    $booking = new Zend_Form_Element_Select('booking');
    $booking->setMultiOptions($this->getBookingList($this->_restaurantId));
  }

   public function getBookingList($restaurantId)
  {
    $list = array();
    $bookingTable = new Booking();
    $select = $bookingTable->select()->setIntegrityCheck(false)
                             ->from('booking')
                              ->join('promotion','promotion.Booking_BookingId=booking.BookingId')
                              ->where('booking.Restaurant_restaurantId ='.$restaurantId);
        foreach ($bookingTable->fetchAll($select) as $c) {
            $list[$c->BookingId] = $c->bookingDate;
        }

        return $list;
  }
}

Hors ligne

 

#9 29-05-2012 17:33:50

bernard899
Membre
Date d'inscription: 29-05-2012
Messages: 19

Re: recuper un getParam dans un zend form

merci pour ta réponse et merci pour ton aide , j'ai essayé ton exemple mais malheureusement sa ne marche pas j'ai une erreur qui n'est pas précise et donc je sais pas vraiment c'est quoi la solution en tout cas je vais continuer a testé et voir si j'arrive a résoudre le problème , merci encore pour tes réponses

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages