phpbar.de logo

Mailinglisten-Archive

[php] SMARTY schleife wie?

[php] SMARTY schleife wie?

lists at darknoise.de lists at darknoise.de
Don Jul 15 17:06:27 CEST 2004


Zitat von dominik roser <phpliste at bigtown.de>:
> Ich wollte einfach eine liste mit zahlen von z.b. 0 bis 10 ausgeben.
> 0
> 1
> 2
> ...
Es gibt die M�glichkeit dieses �ber 
 a) foreach
 b) section
 c) counter
zu l�sen.

Wenn Du ganz simpel nur die Zahlen von 0-3 ausgeben willst [=L�sung c) ]: 
{counter start=0 skip=1}<br>
{counter}<br>
{counter}<br>
{counter}

Wenn Du das Beispiel generischer haben m�chtest empfehle ich b):
<?php
...
$myarray = array(0,1,2,3);
$smarty->assign('maarray', $myarray);
...
?>

template:
{section name=zaehler loop=$maarray}
  {$marray[zaehler]}<br>
{/section}

Schick ist hier f�r Dich sicher auch die M�glichkeit, 
Daten im Array zu haben, welche mit der ausgegebenen Zahl so direkt 
nichts zu tun haben:
<?php
...
$myarray = array('Martin', 'Dieter', 'Herbert', 'Franz');
$smarty->assign('maarray', $myarray);
...
?>

template:
{section name=zaehler loop=$maarray}
  {$zaehler}: Ich bin {$marray[zaehler]}, Nummer 
{$smarty.section.zaehler.rownum}.<br>
{/section}

Dies gibt die Namen nebst dem Index und der Iteration aus.
Alternativ kannst du statt {$zaehler} auch {$smarty.section.zaehler.index} 
vorneweg stellen, das sollte beides seinen Dienst tun. Unterschiedlich arbeiten
die beiden afaik dann, wenn du ein assoziatives Array hast.
Bei diesen benutze ich allerdings meistens und bevorzugt das foreach.

HTH

-- 
  Dennis Sterzenbach



php::bar PHP Wiki   -   Listenarchive