Definování jednoho bloku vícekrát v jedné šabloně

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
medhi
Generous Backer | 236
+
0
-

Proč nelze uvádět (případně přetěžovat) stejné bloky a define v jedné šabloně (souboru)?

Dává to podle mě smysl a lze to pěkně využít v případě dialogového okna, které potřebuji plnit různým obsahem. Okno bych si jednou napsal (třeba do extra šablony) a doplnil includy. Pak ve své šabloně pomocí ifů definoval různé obsahy. To mi přijde KISS. Ale znamená to v několika podmínkách definovat stejný blok. A to Nette neumí.

Nebo existuje lepší způsob?

bazo
Člen | 619
+
0
-

ono to ide.

{define block}{/define}

a potom {include #block} kolkokrat len chces

Jan Tvrdík
Nette guru | 2573
+
0
-

Můžeš zkusit definovat pro každý obsah blok s jiným názvem a pak název toho bloku předávat jako parametr tomu bloku reprezentující dialog, který bude vypadat třeba takto:

{define #dialog}
	<div class="dialog">{include #$name}</div>
{/define}