Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Przekazanie zmiennych do formularza
Forum PHP.pl > Forum > PHP > Frameworki
alien989
Witam.

Próbując przekazać jedną zmienna do formularza przy pomocy:

Kod kontrolera:

  1. $dbCon = new Application_Model_DbTable_KsiazkiGatunek();
  2. $daneGatunek = $dbConGatunek->returnData();
  3.  
  4. $form = new Application_Form_Admin_DodajKsiazkeForm(array('gatunekTab' => $daneGatunek));
  5. $this->view->form = $form;


Kod formularza:

  1. class Application_Form_Admin_DodajKsiazkeForm extends Zend_Form {
  2. protected $GATUNEK;
  3.  
  4. public function init() {
  5. $gatunekCb = new Zend_Form_Element_Select('gatunek');
  6. $gatunekCb ->setLabel('Wybierz gatunek książki:')
  7. ->setName('gatunekCb')
  8. ->setRequired(true)
  9. ->setMultiOptions($this->GATUNEK);
  10.  
  11. $this->setMethod('post');
  12. $this->addElements(array($gatunekCb);
  13. }
  14.  
  15. public function setGatunekTab($gatunekTab){
  16. $this->GATUNEK = $gatunekTab;
  17. }


Wszystko ładnie przekazuje, problem pojawia sie w momencie gdy chce przekazać dwie zmienne.

Kod kontrolera:
  1. $dbConG = new Application_Model_DbTable_KsiazkiGatunek();
  2. $daneGatunek = $dbConGatunek->returnData();
  3.  
  4. $dbConO = new Application_Model_DbTable_KsiazkiOpis();
  5. $daneOpis = $dbConOpis->returnTytul();
  6.  
  7. $form = new Application_Form_Admin_DodajKsiazkeForm(array('gatunekTab' => $daneGatunek),array('opisTab' => $daneOpis));
  8. $this->view->form = $form;


Kod formularza:
  1. class Application_Form_Admin_DodajKsiazkeForm extends Zend_Form {
  2. protected $GATUNEK;
  3. protected $OPIS;
  4.  
  5. public function init() {
  6. $gatunekCb = new Zend_Form_Element_Select('gatunek');
  7. $gatunekCb ->setLabel('Wybierz gatunek książki:')
  8. ->setName('gatunekCb')
  9. ->setRequired(true)
  10. ->setMultiOptions($this->GATUNEK);
  11.  
  12. $opisCb = new Zend_Form_Element_Select('gatunek');
  13. $gatunekCb ->setLabel('Wybierz gatunek książki:')
  14. ->setName('gatunekCb')
  15. ->setRequired(true)
  16. ->setMultiOptions($this->GATUNEK);
  17. $this->setMethod('post');
  18.  
  19. $this->addElements(array($gatunekCb,$opisCb);
  20. }
  21.  
  22. public function setGatunekTab($gatunekTab){
  23. $this->GATUNEK = $gatunekTab;
  24. }
  25.  
  26. public function setOpisTab($opisTab){
  27. $this->OPIS = $opisTab;
  28. }


Probowalem juz nawet przekazac wszystko jako jedna tablice array i potem wewnatrz to rozbijac, efekt zawsze ten sam
1 zmienna dostaje wartosc, druga nie.
W czym tkwi blad?
Oczywiscie powyzsze kody sa przeklejone z projektu i moga zawierac bledy, chodzi mi tylko o idee jak to rozwiazac i przekazac dwie zmienne do formularza.
Turson
Przekazuj w jednej tablicy
  1. $form = new Application_Form_Admin_DodajKsiazkeForm(array('gatunekTab' => $daneGatunek, 'opisTab' => $daneOpis));
alien989
Dzieki, zadzialalo!

okazalo się sie że podczas rozbijania w formularzu tablicy na dwie uzywałem $GATUNEK oraz $OPIS zamiast $this->GATUNEK oraz $this->OPIS;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.