Nur der Vollständigkeit zuliebe:
Hier ist die Rede von einem modifizierten Inhaltstypen "Content2".
Nachzulesen unter folgendem Link:
http://forum.cmsmadesimple.org/index.ph ... 504.0.html
Dazu lässt sich der smarty Modifikator "cat" (
siehe Beispiel von nhaack) wunderbar einsetzen.
D.h.:
- Die foreach-Schleife durchlaufen und die Werte einer neuen Variablen zuweisen;
Dabei die neue Variable aber nicht einfach überschreiben, sondern ihr ein Komma und den Wert der Variablen aus der
foreach-Schleife zuweisen;
- danach die neue Variable als Wert für den Parameter "items" im Content-Tag verwenden
- den content block nicht in Kommentarzeilen schreiben, sondern mit dem Parameter "assign" ebenfalls einer Variablen zuweisen;
somit kannst Du später noch auf den Namen des ausgewählten Dropdown-Wertes zugreifen
Code: Select all
{foreach from=$itemlist item="item"}
{if !isset($items) || $items==''}
{* wenn die variable $items nicht existiert oder leer ist, wird ihr einfach der Wert des aktuellen Elements zugewiesen *}
{assign var="items" value=$item->name}
{else}
{* wenn die variable $items schon existiert, wird ihr einfach ihr bisheriger Wert plus Komma plus der Wert des aktuellen Elements zugewiesen *}
{assign var="items" value=$items|cat:","|cat:$item->name}
{/if}
{/foreach}
{content block="banner" type="dropdown" items="$items" label="Select banner" assign="banner"}
Vielleicht sollte man den Titel des Themas ändern.
Denn im Prinzip geht es ja nicht um den {content}-Tag, sondern darum, wie man via Smarty mehrere Werte aus einem Array/Objekt "extrahieren" und zusammen einer Smarty-Variable vom Typ String zuweisen kann.