Lze nejak z define blocku nastavit hodnotu globalni promenne sablony?

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

Nette 2.3

{default $a = 1}

{define myblock}
.....
{var $a = $a - 1}
{dump $a} //0

{/define}

{include myblock}

{dump $a} //1

Zkousel jsem i predat promennou do blocku ale vysledek je stejny, tj. hodnota je stale 1.

{include myblock, a => $a}

Takze cist jde, ale menit uz nikoliv (?). Diky za pomoc. Je to sablona komponenty, nikoliv presenteru, pokud by to melo mit nejaky vliv…

Editoval Kori (24. 3. 2017 13:17)

David Matějka
Moderator | 6445
+
0
-

nejde. z bloku nemuzes ovlivnit promenne z nadrazeneho kontextu, odkud se to volalo – stejne jako v php funkci (pokud to nepredas jako referenci, coz teda v latte nejde)

Kori
Člen | 73
+
0
-

Jo, ta reference mne taky napadla:-) Ok, udelam jinak (ale nebude to tak hezky ;-). Diky za info.

CZechBoY
Člen | 3608
+
0
-

Zkus napsat co konkrétně řešíš a třeba to půjde i hezky ;-)

Kori
Člen | 73
+
0
-

V tom define bloku muze ale nemusi probehnout iterace. A ja chci vedet, jestli (jakakoliv) iterace probehla pak na urovni sablony.

Ten blok se vklada x-krat.

CZechBoY
Člen | 3608
+
0
-

A konkretne?