Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] Kontroler załadowany przez $this->_forward('akcja', 'innyController') nie widzi zmiennych przekazanych metodą $this->view->zmienna = ...
Forum PHP.pl > Forum > PHP > Frameworki
Sajrox
Witam serdecznie,

Otóż mam pewnie problem. W moim kontrolerze "Kontroler" w którym użyłem prosty kod:

  1. // To jest kontroler: Kontroler
  2.  
  3. $this->view->zmienna = 'Tresc zmiennej';
  4.  
  5. $this->_forward('pokaz', 'innyKontroler');


Jednak w kontrolerze "innyKontroler" nie mogę odczytać zmiennej $this->view->zmienna
  1. // To jest kontroler: innyKontroler
  2.  
  3. echo $this->view->zmienna;
  4.  


Czemu się tak dzieje ? Jak można to obejść ? Wydawało mi się że zmienne powinny się przekazywać a tutaj taka niespodzianka. sad.gif
-=Peter=-
To normalne zachowanie, gdyż jak forwardujesz do kolejnej akcji, to zostanie wyświetlony widok nie tej akcji z której, ale do której się forwarduje. Jeśli chcesz przekazać jakieś parametry między akcjami to musisz ustawić je w requeście:

  1. $this->_forward('action', 'controller', 'module', array('param1' => 'value1'));
  2. //lub
  3. $this->getRequest()->setParam('param1', 'value1');
  4. $this->_forward('action', 'controller');
Sajrox
Zgadza się. Jednak dziwne gdyż wcześniej mi działało przekazywanie zmiennych przez $this->view->...

Po zmianach struktury i Bootstrapa zgoadnie z najnowszą wersją Zenda musze to robić przez 

  1.  
  2. $this->getRequest()->setParam('param1', 'value1');
  3.  


Ale generalnie jest to do przyjęcia winksmiley.jpg

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.