stránkování + nette.ajax.js – dynamická změna atributu data-ajax-append
- Yaromil
- Backer | 20
Ahoj,
snažím se vytvořit stránkování, kdy vedle tlačítka „Načíst další“ bude i klasické stránkování.
- pomocí tlačítka „Načíst další“ by mělo dojít k připojení / „append“ nového obsahu k stávajícímu
- po kliknutí na konkrétní stránku by se měl zobrazit jen rozsah položek vztažený k dané stránce
Problém je ten, že nemůžu přijít na to, jak elegantně přepínat / dynamicky měnit atribut data-ajax-append, aby 1) a 2) mohlo fungovat v symbióze vedle sebe.
Pokud se snažím dynamicky přepínat atribut např. pomocí proměnné $append v template (viz. níže), tak to bohužel nefunguje = po redrawControl(‚articles‘) se vymění obsah jen uvnitř DIVu snippetu, ale ne právě atributy přímo na něm. Čemuž rozumím a tak hledám vhodnou alternativu, jak tohle vyřešit. Nejlépe to vyřešit na straně PHP / Nette, abych nemusel zasahovat do JS.
Předem díky za radu!
{if $articles}
<div class="articles-list" n:snippet="articles"{if isset($append) && $append} data-ajax-append="true"{/if}>
<div n:foreach="$articles as $article" class="article">
<div class="article-header">
{$article->published|date:'d. m. Y'}
</div>
<div class="article-body">
<h3>{$article->headline}</h3>
<p>
{$article->perex}
</p>
</div>
<div class="article-footer">
<a class="arrow" href="#">
Více inforamcí
</a>
</div>
</div>
</div>
<div n:snippet="paginator">
{if $paginator}
{control paginator}
{/if}
</div>
{else}
<div class="flash">Je nám líto, ale aktuálně zde nejsou žádné aktuality.</div>
{/if}