Pořadí zpracování n:maker? n:if a n:foreach

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

Chtěl jsem se zeptat, proč nefunguje

<span n:if="$pole" n:foreach="$pole as $data">{$data}</span>

a musím psát

{if $pole}
<span n:foreach="$pole as $data">{$data}</span>
{/if}
Altimit
Člen | 82
+
0
-

Protože, když to máš v jednom řádku tak se oba příkazy vykonají stejně a u druhého se první ověří a až podle toho potom pracuje dále.

David Matějka
Moderator | 6445
+
+3
-

n:makra se zpracovavaji vzdy (bohuzel) ve stejnem poradi – dle toho, jak byly registrovane a je jedno, jestli mas nejdriv n:if a n:foreach nebo obracene. vzdy bude tedy vysledkem kod foreach (..) { if (..) { .. }}

mel jsem nekde rozpracovany predelani toho chovani, aby to bylo dle poradi, v jakym to pouzijes, ale co jsem se bavil s dg, tak to menit nechtel (uz ani nevim proc, jestli BC?)