Möglichkeit einer Auflistung in Smarty

Wenn ihr z.B. ein Array in Smarty ausgeben wollt, welche durch ein Komma („,“) getrennt ist, dann bietet sich folgende Möglichkeit an:

{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.

{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!