Paginator – počet položek na stránce

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

Potřeboval bych vypisovat informaci typu „je zobrazeno X – Y z Z položek“. Z kódu jsem vyčetl, že by mě k tomu mohla pomoct metoda getCountdownOffset(), ale při jejím použití vrací 0 i když mám na stránce jednu položku…

stpnkcrk
Generous Backer | 190
+
0
-

Možná existujei lepší cesta, ale co

<?php
$x = $paginator->getOffset();
$y = $paginator->getOffset() + $paginator->getLength();
$z = $paginator->getItemCount();
?>

Editoval skocourek (30. 4. 2009 21:41)

Aurielle
Člen | 1281
+
0
-

„zobrazeno 0 – 1 z 1 položek“… k něčemu takovému jsem se propracoval také a tady jsem skončil :/

stpnkcrk
Generous Backer | 190
+
0
-

A Ty čekáš jiný výsledek?

Aurielle
Člen | 1281
+
0
-

Kdyby tam bylo výsledků víc, tak čekám něco ve smyslu „zobrazeno 1–20, celkem 36“. V tomto případě bych čekal 1 – 1.

Patrik Votoček
Člen | 2221
+
0
-

A co ti brání přičíst si k výsledku 1? Btw nicméně je asi pravda že by paginator měl číslovat od 1 a ne od 0… Nebo mít možnost to nastavit… Jdu na to kouknout…

EDIT: hehe tak koukam že už se to tu řešilo a že je to vyřešeno…

PS: co takhle občas použít hledání?

Editoval vrtak-cz (30. 4. 2009 22:59)

stpnkcrk
Generous Backer | 190
+
0
-

Kdyby getOffset() čísloval od jedničky, bude problém při použití třeba v MySQL dotazech.

Patrik Votoček
Člen | 2221
+
0
-

V tom případě by se hodilo aby se číslovalo od 1 pouze v případě kdy se vykresluje a ne když se generuje MySQL dotaz (předává se modelu). Dalo by se to řešit i tak že by se podědil paginator a metodě getOffset by se by se nastavilo od jakého čísla číslovat… tzn. getOffset(1) pro číslování od 1 uvnitř by se ověřilo jestly je nastaveno setBase na 1 nebo jiné číslo a podle toho by se i vrátil výsledek…

David Grudl
Nette Core | 8284
+
0
-

Offset znamená relativní posun, takže tady je 0 správně, nezávisle na filosofických diskusích ;) Mimochodem, getOffset() + 1 mi připadá srozumitelnější než getOffset(1).