[ Vuk Nikolić @ 11.03.2005. 16:15 ] @
pozdrav svima,
nov sam u svetu smarty-ja ali duze vreme radim u php-u.

interesuje me, kako da odradim obicnu while petlju?
npr brojac treba da ide od 0 do n.

video sam da ima funkcija counter, ali ne znam gde se stavlja granicna vrednost.

hvala.
[ dinke @ 11.03.2005. 19:47 ] @
Eksplicitna while petlja u smarty-u ne postoji, ali verujem da funkcionalnost koja je tebi potrebna mozes lako postici koristeci foreach petlju. Pogledaj manual za foreach na http://smarty.php.net/manual/en/language.function.foreach.php ili nam daj malo bolji opis sta nameravas da uradis kako bi mogli da ti pomognemo.
[ Vuk Nikolić @ 11.03.2005. 21:39 ] @
ranije nisam detaljno citao foreach, ali koliko sam ja shvatio to je jedna alternativa za section. (pogledacu posto ovo napisem)

u svakom slucaju, kod mene je situacija sledeca. korisnik napise koliko zeli da anketa ima ponudjenih odgovora (npr 10). ja php-u prosledim promenljivu $broj, i sad bi u smarty-ju trebalo da 10 puta odstampam opican text field u kome covek treba da popuni odgovore.

znaci ne trebam nikakav niz da vrtim, samo prost brojac da ide od 0 do $broj. i to je to.
[ bluesman @ 11.03.2005. 22:59 ] @
Imas nekoliko nacina

1. sve kreiras kroz php a samrty prosledis array

2. Napravis plugin koji ce to da odradi

3. koristis {php} {/php}

4. Zezas se sa smarty i assign, oduzimanje...


Preporucujem 2.
[ cartmanlee @ 13.03.2005. 09:38 ] @
Ne znam da li će ti ovo pomoći, ali ja obično counter koristim pri generiranju topliste kada moram napisati broj uz npr. ime filma
1. Film
2. Drama
3. Blabla.
....

10. Film novi

Koristim section i unutar sectiona definiram rownum

{section name=film loop=$filmovi}
{$smarty.section.film.rownum} . {$filmovi[nazivFilma]}<br>
{/section}

Što se tiče nekog klasičnog while, gdje se čeka ispunjenje uvjeta, za to nisam siguran da postoji, ali uvijek možeš while petlju prebaciti u for petlju. Navedi primjer korištenja while petlje, pa da vidim koji problem te pati.
[ noviKorisnik @ 13.03.2005. 22:15 ] @
Pogledao sam malo smarty dokumentaciju za section. Tamo za loop kaže
Attribute Name    Type    Required    Default    Description
loop mixed Yes n/a Value to determine the number of loop iterations

Ono mixed golica da vidimo šta se dešava ako je u sledećem primeru korišteno $smarty->assign ('broj', 10);
Code:
{section name=iterator loop=$broj}
{$smarty.section.iterator.iteration}<br />
{/section}

Klasična for petlja, zar ne?
[ Vuk Nikolić @ 14.03.2005. 13:19 ] @
hvala :)

mada sam pre toga resio problem pravljenjem niza, pa loopovanjem njega.
ovo je bolje.