diff --git a/latte/cs/cookbook/grouping.texy b/latte/cs/cookbook/grouping.texy index 32a799a771..f31c4b2167 100644 --- a/latte/cs/cookbook/grouping.texy +++ b/latte/cs/cookbook/grouping.texy @@ -9,7 +9,7 @@ Každá z těchto značek nabízí specifické možnosti pro práci s daty, čí Filtr a funkce `group` ----------------------- +====================== Dejme tomu, že máme následující databázovou tabulku, kde jsou položky rozdělené do kategorií: @@ -63,43 +63,9 @@ Rovnou si ukážeme, jak snadno a elegantně se dá úkol vyřešit pomocí `|gr {/foreach} ``` -Vnější `{foreach}` seskupí položky do pro každou kategorii a pak nad nimi iteruje vnitřní `{foreach}`. +Filtr `|group` položky seskupí do menších polí podle kategorie. Protože je dostupný i jako funkce, šlo by použít i `{foreach group($items, categoryId) ...}`. - -```latte -{foreach $items as $item} - -{/foreach} -``` - -Výsledek bude vypadat takto: - -```latte - -``` - - -```latte -{foreach ($items|group: categoryId) as $categoryId => $items} -

{($items|first)->name}

- -{/foreach} -``` +V proměnné `$items` není přímo pole, ale objekt iterátoru. Pro získání první položky použijte funkci [`first()`|latte:functions|#first]. Vnořené smyčky @@ -110,11 +76,11 @@ V rámci jednoho cyklu můžeme vytvářet více vnitřních smyček a dokonce j Dejme tomu, že v tabulce bude ještě další sloupec `subcategoryId` a kromě toho, že každá kategorie bude v samostatném `