Nette Framework – Strankovanie/Router
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Takeshi
- Člen | 596
Zdravim vsetkych. Podobnu otazku som sem uz daval, ale este sami ju zial nepodarilo vyriesit. Takze … v presentery mam
$paginator = new Paginator;
$paginator->setItemCount(8); )
$paginator->setItemsPerPage(5);
$paginator->setPage(2);
$movies = new ModelKnihy;
$this->template->movies = dibi::query('SELECT * FROM [books] %ofs %lmt', $paginator->offset, $paginator->itemsPerPage);
$this->template->steps = $paginator->getSteps(1,7);
A vo View mam:
{block content}
<table border=0>
{foreach $movies as $movie}
<tr>
<td width=30 height=30>{$movie->bookId}</td>
<td width=170 height=30>{$movie->bookName}</td>
<td width=320 height=30>{$movie->bookContent}</td>
</tr><tr><td colspan=3><hr></td></tr>
{/foreach}
</table>
{foreach $steps as $step}
<a href="">{$step}</a>
{/foreach}
{/block}
Ono mi to vypise obsah databazy aj so strankovanim + mi vypise stranky: <1
2 3 .. 4> ale este
mi tu chyba nieco ako <a href=""> aby ked kliknem na cislo 2, sa mi
zobrazila aj stranka 2 a
s to mi nejde … prosiiiiim pomoc, :-) Dakujem vopred
- Pavel Kouřil
- Člen | 128
No; protože ten svůj <a href="">
máš prázdný? :)
Tzn buď si ty odkazy napsat ručně tam, nebo použít např https://componette.org/search/?… (který můžu doporučit) :)
- jiri.pudil
- Nette Blogger | 1029
A co takhle?
V šabloně:
<a n:href="this page=>$step">{$step}</a>
V presenteru:
render<view>($page = 1, ...) {
(...)
$paginator->setPage($page);
(...)
}
Parametr „page“ se předá v query stringu (pokud není definovaný v routě).
Editoval jiri.pudil (8. 11. 2011 17:57)