Proměnné definované makrem {var} nejsou vidět ve vkládaných šablonách

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

Zdravím.

Docela mě překvapilo, že když v layoutu definuji proměnnou makrem {var} a následně někde vložím externí šablonu makrem {include}, tak v této vložené šabloně nemám tuto proměnnou k dispozici.

Na druhou stranu když proměnnou předám do šablony v Presenteru, tak je vidět ve všech vkládaných šablonách. Není to rozpor v chování? možná dělám něco špatně…

{var days => array('neděle', 'pondělí', 'úterý', 'středa', 'čtvrtek', 'pátek', 'sobota')}
{include '_common/ahoj.phtml'} {* v této šabloně není proměnná $days definovaná *}

Zlobí mi to ve verzi 1.0-dev, konkrétně f706a3c released on 2010–06–30.
Možná, že je to již opravené…

Děkuji.

Michalek
Člen | 211
+
0
-

Tuším, že to funguje takhle

{include '_common/ahoj.phtml', days => $days}

ale jestli je to z hlediska čehokoliv dobře, to nevím.

uestla
Backer | 799
+
0
-

Jasně, díky.

Mně šlo spíše o to, že proměnné předávané do šablon v Presenteru jsou vidět ve všech vkládaných šablonách bez nutnosti je předávat, kdežto u proměnných definovaných přímo v šabloně to tak není…

jtousek
Člen | 951
+
0
-

Ano, přesně tak proměnné v šablonách fungují. Osobně to nevnímám jako problém.