nedefinovany $iterator v sablone pre makro for

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

Neviem ci ide o chybu, ale v latte sablone, pri makre {for}, pri pokuse pouzit $iterator mi vypisuje ladenka ze $terator nie je definovany. Ak v tom istom subore pouzijem makro {foreach} $iterator mozem pouzivat bez problemov.

Pre cyklus for sa teda $iterator neinicializuje, alebo ide o chybu v nette?
Dakujem za odpovede.

ViPEr*CZ*
Člen | 817
+
0
-

Nebudu se dívat do kódu Nette, ale přijde mi blbost inicializovat iterator pro cyklus for, když ten samotný cyklus si iterator nese v těle na rozdíl od foreach. Čili přístup k právě procházenému prvku ve for je zajištěn. V samotném foreach se index průchodů nevede, proto latte zavádí svůj vlastní. Taková bude i logika.

roarbb
Člen | 29
+
0
-

Chapem a celkom to dava zmysel, ale mne by sa aj vo for pacilo pouzivat $iterator->last, pride mi to prehladnejsie. A navyse v dokumentacii sa uvadzaju cykly foreach, for a while a je napisane ze vovnutri cyklu sa inicializuje $iterator. (https://latte.nette.org/cs/tags#…) Tak ma to celkom zmiatlo :)

Filip Procházka
Moderator | 4668
+
0
-

Tak nepoužívej for ale foreach :)