Dynamické snippety v komponentě a includované šabloně

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

Ahoj,

mám komponentu vykreslující seznam položek, šablonu pro položku je nutné includovat.

Takto vypadá šablona komponenty:

{snippetArea}
    {foreach $items as $item}
        {include 'item.latte', item => $item}
    {/foreach}
{/snippetArea}

Takto vypadá zjednodušená šablona item.latte:

{snippet item-$item->id}
    {$item->name}
{/snippet}

Tohle mi však vyvolá výjimku Dynamic snippets are allowed only inside static snippet/snippetArea.
Proč, prosím?

Se stejným výsledkem jsem zkoušel také místo {snippetArea} použít {snippet list} a dokonce i obojí zároveň:

{snippetArea}
	{snippet list}
	    {foreach $items as $item}
    	    {include 'item.latte', item => $item}
	    {/foreach}
	{/snippet}
{/snippetArea}

Prosím, v čem je problém a jak jej řešit?
Napadá mě místo includované šablony použít další komponentu pomocí Multiplier, ale každopádně mi vrtá hlavou, proč můj způsob nefunguje.

Díky za rady ;o)

tatyalien
Člen | 239
+
0
-

neměl by jsi místo {include ‚item.latte‘, item ⇒ $item} použít includeblock?

dady
Člen | 12
+
0
-

Includeblock nemá efekt – stále stejná chyba.
Ještě doplním, že používám Nette ve verzi 2.3.

helvete
Člen | 16
+
0
-

Mam stejny problem na aplikaci s nette/latte 2.1.

Existuje nejake elegantni reseni?

David Matějka
Moderator | 6445
+
+2
-

nejde to. ale lepsi nez dynamicke snippety je pouziti komponenty + multiplieru

helvete
Člen | 16
+
0
-

Diky za odpoved. Zkusim se vydat touto cestou.