Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] paginacja - problem z domyślną stroną
csharp
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 3
Dołączył: 22.04.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


mam problem tego typu, że paginacja działa mi poprawnie dopiero jeśli dopiszę ręcznie w pasku nr strony np. 1 - później już normalnie przeskakuje.

problem nie występuje gdy otwieram stronę z kontrolera tj. public/index/index wtedy ładnie przeskakuje index/index/page/2 -> page/3 itd

chciałem sobie ułatwić i ustawić aby zmienna page wczytywała się już w public np. public/2

paginacja wygląda standardowo jak poniżej:

  1. $result = $Post->fetchAll($select);
  2.  
  3. $pageNumber = 1;
  4. $itemNumber = 1;
  5. $paginator = Zend_Paginator::factory($result);
  6. $paginator->setItemCountPerPage($pageNumber);
  7. $paginator->getItemsByPage($itemNumber);
  8. $paginator->setCurrentPageNumber($this->_getParam('page', 1));
  9. Zend_Paginator::setDefaultScrollingStyle('Sliding');
  10. $view = new Zend_View();
  11. $paginator->setView($view);
  12.  
  13. $this->view->result = $paginator;
  14. $this->view->paginator = $paginator;


i w application.ini poczyniłem coś takiego:

  1. resources.router.routes.page.route = "/:page"
  2. resources.router.routes.page.defaults.controller = "index"
  3. resources.router.routes.page.defaults.action = "index"
  4. resources.router.routes.page.defaults.page = "1"


ma ktoś jakiś pomysł?

Ten post edytował csharp 20.09.2012, 00:13:40
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Pewnie jest konflikt ze standardowymi routingami Zenda, które pewnie można wyłączyć czy nadpisać ale ja nigdy tego nie robiłem, bo wg mojej filozofii defaultowe routingi muszą działać dla potrzeb developerskich, jak wpiszę kontroler/akcja/page/1/kategoria/345 to ma to działać i już. Tak samo u Ciebie jakbyś tak wpisał to na 99% by działało i od razu wiesz, że masz problem z routingiem a nie np. z kontrolerem czy dispatcherem.

Każdy adres typu .pl/costam/ktostam będzie traktowany jako kontroler/akcja, dlatego radzę unikać podobnej do defaultowej nomenklatury w swoich routingach i bawić się w to dopiero na końcu bo potem okazuje się, że i tak trzeba je kilka razy przerabiać.

Najlepiej od razu przemyśleć całą koncepcję adresów i zawrzeć ją w konfiguracji, tak, żeby łatwo można było przełączyć się na wersję standardową.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 19:32