Ako prechadzat jednym polom v template viackrat?

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

Ked prechazdam polom v template viackrat, tak mi vypisuje prvky z pola iba prvy krat.
Prikl:

{foreach $array as $arr}
<div>{$arr->name}</div>
{/foreach}

{foreach $array as $arr}
<div>{$arr->name}</div>
{/foreach}

Editoval Haluzisk (18. 12. 2013 17:19)

mkoubik
Člen | 728
+
0
-

S polem by to mělo fungovat. Pro iterátory to platit nemusí. Pokud to jsou (tipuju) data z nette\database tak si je převeď na pole: $template->data = (array) $data.

Haluzisk
Člen | 7
+
0
-

Vyskusal som to pretipovat na array, ale nefunguje to tak ako ma.
Z databazy som vytiahol meno (name) a priezvisko (surname) a cez iterator som prechadzal

{foreach $user as $us}
<div>{$us->surname} {$us->name}</div>
{/foreach}

po pretipovani na array, som si zistil pocet userov a riesil som to cez forcyklus

{for $i=0; $i<$countUsers; $++}
<div>{$user[‚surname‘]} {$user[‚name‘]}</div>
{/for}

vzdy ale zasahujem iba do prveho usera.
Skusal som aj rozne varianty ako $user[$i][‚surname‘], ci $user[‚surname‘][$i], ale pri vsetkych mi vypisuje chybu. Vies mi poradit ako to pole mam prechadzat?

David Matějka
Moderator | 6445
+
0
-

zkus:

$template->data = iterator_to_array($data);
Haluzisk
Člen | 7
+
0
-

Ziadna zmena.

Haluzisk
Člen | 7
+
0
-

Ako pretipovat mi to ide, ale neviem ako prechadzat toto pole pretipovane z iteratora.

petr.pavel
Člen | 535
+
0
-

Pole přeci iteruješ přes foreach stejně jako iterator. Nebo nerozumím otázce.

kbtm
Člen | 22
+
0
-

Možná (?) :

foreach(....

reset($array);

foreach( ...

kbtm

Haluzisk
Člen | 7
+
0
-

Uz v tom mam jasno. Vsetko ide. Vdaka vsetkym.