visual paginator v komponentě
- kleinpetr
- Člen | 480
Ahoj,
snažím se rozchodit jednoduchý paginator, ale mám s tím trošku problém..
mám komponentu VisualPaginator od Davida, kterou vytvářím ve vlastní komponentě.
class MyControl extends UI\Control
{
public function render(){
$paginator = $this['visualPaginator']->paginator;
$paginator->setItemCount(20);
$paginator->setItemsPerPage(10);
//nyní kliknu na page 2
dump($paginator);
//zde vidím, že v private proměnné je číslo 2
dump($paginator->page);
//zde je ale číslo 1
dump($paginator->getLastPage);
//taktéž číslo 1
dump($this['visualPaginator']->page);
//číslo 2
}
protected function createComponentVisualPaginator(){
$paginator = new VisualPaginator();
return $paginator;
}
}
Vůbec nechápu proč.. a ikdyž se snažím vytáhnout length a offset tak offset je vždy 0 a length 10. Předem díky za pomoc.
- kleinpetr
- Člen | 480
Tak po delším přemýšlení, mi došlo že asi název VISUAL mluví za vše :D takže to má jen vykreslit paginator, funkčnost je pak už asi na mě :) nicméně nechápu proč tedy používá ta komponenta Utils\Paginator jen kvůli tomu aby nastavil itemCounts a perPageItems ? to mi přijde zbytečný.
- kleinpetr
- Člen | 480
Jde o to, že mi ten paginator neudžuje limit a offset.. jen page, ale to jen díky tomu, že jsem teď zjistil takovou novinku.
Ta komponenta visualPaginator ma členskou proměnnou $page
a
v metodě loadState()
se tato proměnná předá tomu
Paginatoru
. A já bych se chtěl zeptat jak vlastně pracuje ta
metoda loadState()
a k čemu je. Snažil jsem se totiž brát
?page
z presenteru přes attached()
ale
pravděpodobně se metoda loadState()
volá dřív, tudíž ji
člesnkou proměnnou ve visualPaginatoru přepisuju moc pozdě, když už je
dávno předána do Paginatoru
.
Díky za vysvětlení :)