Iterace v iteraci v template → jak nejlepe ziskavat data zavisejici na polozkach uvnitr iterace
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Ja
- Člen | 260
Ahoj, dam jednoduchy priklad,
mam jednoduche tabulky:
<?php
KATEGORIE
---------
id_kategorie, nazev_kategorie
CLANKY
------
id_clanku, id_kategorie, nazev_clanku
?>
do sablony si predam vypis kategorii a vypisuji:
<?php
<ul>
{foreach $items as $item}
<li>
<a href="#">{$item->nazev}</a>
<ul>
// iterace a vypis clanku spadajici pod kategorii
Sem je potreba dostat vysledek z tabulky clanky, ktery zavisi na id_kategorie
</ul>
</li>
{/foreach}
</ul>
?>
jak tento problem resite?
- Filip Procházka
- Moderator | 4668
Pořádně si projdi dokumentaci k téhle hračce: http://www.notorm.com/ třeba tě to inspiruje.
- OK3
- Člen | 91
S dibi si to budeš muset předpřipravit v prezenteru:
<?php
$categories = dibi::... // nebo zavolat model
$articles = dibi::...
$items = array();
foreach($articles as $atricle) {
$items[$article->id_kategorie][] = $article;
}
$this->template->categories = $categories;
$this->template->articles = $items;
?>
V šabloně:
<?php
<ul>
{foreach $categories as $category}
<li>
<a href="#">{$category->nazev}</a>
<ul>
// iterace a vypis clanku spadajici pod kategorii
{foreach $articles[$category->id_kategorie] as $article}
<li>{$article->nazev_clanku}</li>
{/foreach}
</ul>
</li>
{/foreach}
</ul>
?>