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