Stránkování omezení stránek

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Onda
Člen | 20
+
0
-

Zdravím, snad tu něco podobného ještě není, já na nic nenarazil. Jak řešíte omezení stránek?Aby vám to nevyhodilo 10 stran ale třeba jen 2 na levou stranu a 2 na pravou od aktuální na které se člověk nachází? Kolik považujete za optimální ukázat uživateli? Díky za rady

Šaman
Člen | 2666
+
+1
-

Paginator ví, kolik je stran celkem i která je aktuální. Zbytek si řeší uživatel při vykleslování, případně nějaký doplněk (VisualPaginator).

japlavaren
Člen | 404
+
-7
-

Šaman napsal(a):

Paginator ví, kolik je stran celkem i která je aktuální. Zbytek si řeší uživatel při vykleslování, případně nějaký doplněk (VisualPaginator).

Podľa mňa to rieši skor programátor, ako užívateľ.

Šaman
Člen | 2666
+
+1
-

Ok, tak použivatel (té třídy). Programátor je nejasný, protože programátor Paginatoru to neřešil. :)

Editoval Šaman (16. 11. 2014 21:24)

Mysteria
Člen | 797
+
-1
-

Používám na to všechno „normální“ n:for cyklus, co jsem vymyslel před rokem. :)

n:for="$i = $limit['off'] / $limit['lim'] + 1 - $pageLimit <= 1 ? 1 : $limit['off'] / $limit['lim'] + 1 - $pageLimit; $i <= ($limit['off'] / $limit['lim'] + 1 + $pageLimit <= $pages ? $limit['off'] / $limit['lim'] + 1 + $pageLimit : $pages); $i++"

Samozřejmě používám jenom u takových aplikací, kde mám jistotu, že to po mě nebude muset někdo jiný luštit.

japlavaren
Člen | 404
+
+1
-

Mysteria napsal(a):

Používám na to všechno „normální“ n:for cyklus, co jsem vymyslel před rokem. :)

n:for="$i = $limit['off'] / $limit['lim'] + 1 - $pageLimit <= 1 ? 1 : $limit['off'] / $limit['lim'] + 1 - $pageLimit; $i <= ($limit['off'] / $limit['lim'] + 1 + $pageLimit <= $pages ? $limit['off'] / $limit['lim'] + 1 + $pageLimit : $pages); $i++"

Samozřejmě používám jenom u takových aplikací, kde mám jistotu, že to po mě nebude muset někdo jiný luštit.

a čo používaš v ostatných aplikáciach, kde to bude musieť niekto lúštiť ;) predpokladám, že rovnaký kód
prečo to nedáš do triedy, ktorá sa stará o stránkovanie a do šablóny si neposielaš len stránky

$this->template->pages = range($min, $max);
Fyasko
Člen | 106
+
-2
-

Pro začátečníka je podle mě nejlepší používat doplňky, které jsou už připravené.. Tzn. využít doplňky (Paginator) ten to řeší, tak pokud jsi začátekčník jako já(asi jako že jo když píšeš mezi newbie) tak to využij a hotovo :)

Editoval Fyasko (19. 11. 2014 22:54)

Onda
Člen | 20
+
-1
-

Asi jsme se nepochopili nebo jsem to zle podal. Já myslel jak omezit počet stránek, tzn že paginator mám vyřešený a vše funguje, jen je mi jasné že do budocna nemohu udržet všechny stránky ve výpisu, tak jsem nevěděl zda udělat něco jako aktuální page a 2 stránky vpřed a 2 vzad + button dalsi a zpet? Zda to vyresit nejakym cyklem nebo manualne vykreslit po jednom?

Etch
Člen | 403
+
+1
-

No prostě si „stránky“ ve výpisu nějak spočítáš podle toho, co od toho ve výsledku budeš přesně potřebovat. Viz například

Editoval Etch (24. 11. 2014 2:31)