Pokażę, jak korzystać z kilku paginacji w Kohna.
Załóżmy, że mamy stronę foto galerii, na której są miniatury, a pod nimi komentarze.
Chcemy, aby przewijanie stron z miniaturami i przewijanie stron z komentarzami było niezależne, np. przeglądamy piątą stronę ze zdjęciami i dziesiątą z komentarzami i nie chcemy, aby przejście do kolejnej strony z komentarzami spowodowało przejście do pierwszej strony ze zdjęciami.
Na początku edytujemy plik bootstrap.php:
Route::set('galeria', '(galeria(/index(/(<id1>),(<id2>))))') ->defaults(array( 'controller' => 'galeria', 'action' => 'index', )); |
Ustawiamy routing na kontroler galeria i akcję index.
Parametrami są id1 i id2, które będą odpowiadać za paginację zdjęć i komentarzy.
Między id1 i id2 wstawiliśmy przecinek, a nie ukośnik, dzięki któremu Kohana będzie wiedzieć, o który parametr chodzi.
Wtedy url-e będą wyglądać tak:
/galeria/index/ /galeria/index/id1, /galeria/index/,id2 /galeria/index/id1,id2 |
Następnie w kontrolerze galeria.php ustawiamy paginacje:
$pag1 = Pagination::factory(array( 'current_page' => array('source' => 'route', 'key' => 'id1'), // source: "query_string" or "route" 'total_items' => 100, 'items_per_page' => 10, 'auto_hide' => FALSE, 'first_page_in_url' => FALSE, )); $pag2 = Pagination::factory(array( 'current_page' => array('source' => 'route', 'key' => 'id2'), // source: "query_string" or "route" 'total_items' => 200, 'items_per_page' => 10, 'auto_hide' => FALSE, 'first_page_in_url' => FALSE, )); |
W current_page ustawiamy source na route, a key na nazwę parametru z routingu, czyli odpowiednio id1 i id2.
Parametr auto_hide ustawiamy na false, aby paginacja była zawsze widoczna, a first_page_in_url może mieć wartość false, czyli url w paginacji do pierwszej strony nie będzie posiadał parametru id1/id2.
Brak komentarzy:
Prześlij komentarz