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
csharp
post
Post #2





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

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


kurde chyba jest coś skopane... ani jedno ani drugie mi nie działa... ze zmienną $p i tymi ifami też nic..

@Psajkus ja tak pobierałem parametr wcześniej.

zobaczcie raz jeszcze:

1. adresy, które uzywam wyglądają tak:

nazwadomeny.pl/jakies-artykul.html -> ale to akurat nie ma na ten problem chyba żadnego wpływu...

  1. resources.router.routes.post_show.type = "Zend_Controller_Router_Route_Regex"
  2. resources.router.routes.post_show.route = "([a-zA-Z0-9\-_]+)\.html"
  3. resources.router.routes.post_show.defaults.controller = "index"
  4. resources.router.routes.post_show.defaults.action = "showpost"
  5. resources.router.routes.post_show.reverse = "%s.html"
  6. resources.router.routes.post_show.map.1 = "address"


strona główna to po prostu nazwadomeny.pl (tutaj wyświetla sie pierwsza strona z postami)

i teraz, chce aby strony z postami były wyświetlane w nastepujący sposób:

nazwadomeny.pl/1 -> pierwsza (domyślna!) strona
nazwadomeny.pl/2 -> druga strona itd...

posty dzielone są tak w public function init()

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


i w zasadzie wszystko pieknie działa
wpisując nazwadomeny.pl/3 wyświetla mi się 3 strona tak jak chce.

ale nie działa mi nawigacja tych stron jeśli jestem na stronie nazwadomeny.pl, nie mogę przejść do drugiej strony wykorzystując j/n kod:

  1. <?php echo $this->paginationControl($this->paginator,
  2. 'Sliding','my_pagination_control.phtml'); ?>


jeszcze rzut na linki w my_pagination_control.phtml

  1. <a href="<?= $this->url(array('page' => $this->next)); ?>">Next &gt;</a>


nic więcej nie używam do tego, nie mu tu modułów, wszystko opiera się na kontrolerze index, application.ini i widoku.

rzut jeszcze na application.ini:

  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"


ZF poniżej 2.0

jedyny problem to taki, że przy pierwszej domyslnej stronie nie jest przesyłany parametr w linku np. "next"
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: 6.10.2025 - 00:45