Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] widoki - problem z ajaxem
Forum PHP.pl > Forum > PHP > Frameworki
johnyMajster
Witam
Mam pewien problem
Ładuję sobię zawartośc zwróconą z akcji jakasAction ajaxem do pewnego diva. Wyłączam layout i wywołuje setnorender.
W tej samej akcji w odpowiedzi na spełnienie pewnego warunku chciałbym aby widok pokazał sie w normalnym layaucie. Jak to zrobic?? Widok ładuje sie do diva czego chciałbym uniknąc. W kodzie wygląda to tak:


  1. public function jakasAction()
  2. {
  3. if (warunek 1){
  4. $this->_helper->viewRenderer->setNoRender();
  5. $this->_helper->getHelper('layout')->disableLayout();
  6.  
  7. //z tego warunku ładuj wszystko do diva ajaxem
  8. }
  9. else if (warunek 2){
  10. //poprostu pokaz widok bez ajaxa [TEGO NIE UMIEM ZREALIZOWAC]
  11. }}
kalipek
widzę dwie opcje o które możesz pytać, ale zamiast pytać o doprecyzowanie, być może to Ci pomoże

  1. if($this->_request->isXmlHttpRequest() && warunek1) {
  2. $this->_helper->layout()->disableLayout();
  3. $this->_helper->viewRenderer->setNoRender();
  4. ...
  5. }
  6. elseif(warunek 2)
  7. {
  8. ...
  9. }
johnyMajster
Ok. Opisze to bardziej. Mam na stronie button i diva. Onclick button nastepuje załadowanie ajaxem jakasAction wiec $this->_request->isXmlHttpRequest() przychodzi juz do całej akcji. W związku z czym wszystko co akcja zwróci ładuje się do diva. Ja natomiast chciałbbym aby w poniższym warunku nastąpiło cos jak gdyby anulowanie żądania umieszczenia w divie mojego widoku


  1. elseif(warunek 2)
  2. {
  3. ...
  4. }
Fluke
Proponuję Ci zapoznać się z pewnym action helper: ContextSwitch.

Zend Framework tutaj masz link do helperów. Znajdź sobie ContextSwitch and AjaxContext
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.