Počet iterací ve foreach a jejich limit
- wicked
- Člen | 290
Zdravím, opět přicházím pro radu …
v šabloně mám toto
{foreach $kategorie as $kategorie}
<div class="col-md-5 kategorie">
{foreach $eshop->limit(15) as $k}
{if $k->kategorie_id == $kategorie->id}
<span n:foreach="$k->related('soubory.eshop_id')->where('nahled', '1') as $galery" class="thumb">
<a class="images fancybox thumb-default" rel="ligthbox" n:href="Stranka:kategorie, $kategorie->slug">
<img class="img-rounded img-thumbnail thumbs" src="{$basePath}{$galery->cesta}" alt="{$galery->nazev}">
</a>
</span>
{/if}
{/foreach}
<div class="col-lg-12">
<a n:href="Stranka:kategorie, $kategorie->slug"><h3>{$kategorie->nazev}</h3></a>
</div>
</div>
{/foreach}
Ten limit mě vybere 15 záznamů (samý problém dělá i breakIf) …
Jde mi o to, že když mám víc jak 1 kategorii zobrazí se stále 15 záznamů (fotek) k první kategorii, ale už ne k druhé, třetí atd …
Jak napsat to, aby to omezení bylo pouze pro danou kategorii? Takže 1 kategorie = 15 zaznamu?
Děkuji …
Editoval wicked (12. 11. 2014 20:33)
- janpecha
- Backer | 75
Zásadní problém bych viděl v
{foreach $kategorie as $kategorie}
– pole i prvek jsou
ukládány do stejné proměnné. A limit by měl spíše aplikován na
<span n:foreach="$k->related('soubory.eshop_id')->where('nahled', '1')
,
nyní omezuješ spíš počet kategorií, než počet náhledů (ale možná
kecám, s Nette\Database jsem nepracoval už dost dlouho).
Editoval janpecha (13. 11. 2014 14:08)
- wicked
- Člen | 290
Tak jsem to upravil takto
{foreach $kategorie as $kat}
<div class="col-md-5 kategorie">
{foreach $eshop as $e}
{if $e->kategorie_id == $kat->id}
{foreach $e->related('soubory.eshop_id')->where('nahled', '1') as $galery}
<span class="thumb">
<a class="images fancybox thumb-default" rel="ligthbox" n:href="Stranka:kategorie, $kat->slug">
<img class="img-rounded img-thumbnail thumbs" src="{$basePath}{$galery->cesta}" alt="{$galery->nazev}">
</a>
</span>
{/foreach}
{/if}
{/foreach}
<div class="col-lg-12">
<a n:href="Stranka:kategorie, $kat->slug"><h3>{$kat->nazev}</h3></a>
</div>
</div>
{/foreach}
Ale už mě nejde použít ten limit na ten <span>
Nemůžu přijít na to, jak proste pr okazdou kategorii zobrazit 15 obrazků …
- Michal Vyšinský
- Člen | 608
Zkus za
$e->related('soubory.eshop_id')->where('nahled', '1')
dát
ještě ->limit(15)