Šablona – když se část šablony opakuje na různých místech

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

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 ?

F.Vesely
Člen | 369
+
0
-

Udelej si komponentu.

andros
Člen | 145
+
0
-

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}">&laquo;</a></li>
    {else}
        <li class="disabled"><a href="#">&laquo;</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}">&raquo;</a></li>
    {else}
        <li class="disabled"><a href="#">&raquo;</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 ?

CZechBoY
Člen | 3608
+
0
-

Dej misto presenteru a akce this.

Editoval CZechBoY (14. 1. 2017 19:56)

andros
Člen | 145
+
0
-

Super, díky :)