Wenn ihr z.B. ein Array in Smarty ausgeben wollt, welche durch ein Komma („,“) getrennt ist, dann bietet sich folgende Möglichkeit an:
1 2 3 4 5 | {counter start="0" assign="tagCounter"} {foreach from=$tagList item=tag} {counter} < a href = "search.php?tagID={$tag.id}" >{$tag.name|capitalize}</ a >{if $tagCounter < count($tagList)},{/if} {/foreach} |
Die erste Zeile initialisiert einen Counter, danach wird eine foreach-Schleife durchlaufen. Mit „{counter}“ wird der Zähler hochgezählt. Das „{if}“ am Ende prüft einfach ob noch Items vorhanden sind, wenn ja, einfach ein Komma ausgeben.
1 2 3 | {foreach from=$tagList item=tag name=tagForeach} < a href = "search.php?tagID={$tag.id}" >{$tag.name|capitalize}</ a >{if !$smarty.foreach.tagForeach.last},{/if} {/foreach} |
Dank mahe gehts auch deutlich kürzer
Sicherlich gibt es noch bessere Lösungen aber was besseres wollte mir spontan nicht einfallen. Eine fertige Smartyfunktion scheint es nicht zu geben!