Šablona – když se část šablony opakuje na různých místech
- andros
- Člen | 145
Ahoj,
mám šablonu homepage.late která vypisuje nějakou tabulku a pod tabulkou
stránkování
{block strankovani}
<ul class="pagination pagination-sm">
{for $i = $pageFrom ; $i <= $pageTo; $i++}
{if $i == $page}
<li class="active"><a href="#">{$i}</a></li>
{else}
<li><a href="{link Homepage:default $i, $totalPosts, $find}">{$i}</a></li>
{/if}
{/for}
</ul>
{/block}
Když chci vložit stránkování i na začátek tabulky využil jsem:
{include strankovani}
Ale co když potřebuji vložit stejné stránkování i do jiných stránek, kde se zobrazuje tabulka s daty ? Do šablony @layout.latte to vložit nemohu, protože jsou stránky, kde se stránkování nepoužívá (například formulář pro vložení nového článku)
Poraďte prosím, jak docílit v Nette toho, abych stejnou část kódu nemusel psát na každé stránce, která obahuje nějakou tabulku ?
- andros
- Člen | 145
Udělal jsem si tedy stránkování jako komponentu. V šabloně komponenty mám následující:
<ul class="pagination pagination-sm">
{if $page > 1}
<li><a href="{plink Homepage:default $page-1, $totalPosts, $find}">«</a></li>
{else}
<li class="disabled"><a href="#">«</a></li>
{/if}
{for $i = $pageFrom ; $i <= $pageTo; $i++}
{if $i == $page}
<li class="active"><a href="#">{$i}</a></li>
{else}
<li><a href="{plink Homepage:default $i, $totalPosts, $find}">{$i}</a></li>
{/if}
{/for}
{if $page < $totalPosts}
<li><a href="{plink Homepage:default $page+1, $totalPosts, $find}">»</a></li>
{else}
<li class="disabled"><a href="#">»</a></li>
{/if}
</ul>
Všechno funguje.
Co když ale budu chtít stejnou komponentu vložit i do jiné šablony, která
patří k jinému presenteru. Pak mi přestanou fungovat odkazy v šabloně
komponenty, protože ty ukazují na presenter Homepage. Jak tedy docílit , aby
stránkování bylo universalni a mohl jsem jej použít v jakékoli
šabloně ?
Poradíte mi někdo prosím ?