Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Placeholdery - indywidualna praca
Forum PHP.pl > Forum > PHP > Frameworki
ikssde
Od pewnego czasu borykam się z problemem przekierowania użytkownika po zalogowaniu na stronę na której był. Postanowiłem zbudować aplikację z placeholderów i teraz pierwsze, najważniejsze pytanie, czy da się tak zrobić, żeby placeholdery, a raczej akcje które się w nich wykonują pracowały indywidualnie? Bez żadnego wpływu na resztę, powiedzmy mam placeholder z panelem logowania i chcę, żeby po zalogowaniu się przeładowało tylko placeholdera, a przeglądana treść pozostała niezmieniona. Kolejna sprawa to wywołanie przekierowania w kontrolerze obsługującym takiego placeholdera, otóż napisałem sobię plugina który zapisuje mi ostatnio odwiedzoną stronę w sesjii, a później, po zalogowaniu, robie redirecta na tą stronę, ale nic z tego nie wychodzi, bo i tak przekierunkowuje mnie zawsze na tą samą. Jak rozwiązaliscie ten problem u siebie?

@edit
Już sobie poradziłem, pod spodem zostawiam funkcje która łapie ostatnio odwiedzaną stronę

  1. <?php
  2. if(!empty($this->_informations->page['last']) and !empty($this->_informations->page['current']))
  3.        {
  4.            if($this->_informations->page['current'] != $this->getRequest()->getRequestUri())
  5.            {
  6.                    $this->_informations->page['last'] = $this->_informations->page['current'];
  7.                    $this->_informations->page['current'] = $this->getRequest()->getRequestUri();
  8.            }
  9.        }
  10.        else if(!empty($this->_informations->page['last']) and empty($this->_informations->page['current']))
  11.        {
  12.            $this->_informations->page['current'] = $this->getRequest()->getRequestUri();
  13.        }
  14.        else if(empty($this->_informations->page['last']) and empty($this->_informations->page['current']))
  15.        {
  16.            $this->_informations->page['last'] = $this->getRequest()->getRequestUri();
  17.        }
  18. ?>


Dla tych nie w temacie, $this->_informations to uchwyt do sesji, a $this->getRequest()->getRequestUri() to funkcja pobierająca uri.
chlebik
Nie lepiej to robic w formie pluginu do FrontControllera? Juz na etapie dispatchu requestu mozna sporo zdzialac (lacznie z ACLem)?
qba_rox
niesety chlebik, ludzie nie chca sie do konca edukowac w zf, nie uzywaja pluginow, ktore sa na maksa poteznym narzedziem i potem wychodza kmioty, ktorych pozniejszy refactoring jest straszny. i nie chodzi tu tylko o pluginy tylko o brak pomyslu na strone. ludzie naprawde ogarnijcie sie, najpierw pomyslcie jak to zrobic a potem kodujcie. w mysl zasady: think twice, code once.
ikssde
Przecież napisałem, że zapakowałem ten kod do plugina smile.gif
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.