Hallo zusammen,
möchte folgendes gestalten:
Wenn in einem Artikel im Warenkorb das Wort “Display” vorhanden ist, dann zeige z.B. einen Text.
(Beispiel: 2*X-Box und 2*Sony Display im Warenkorb)
Mit dieser Anweisung hole ich mir alle Artikelnamen im Warenkorb:
{foreach from=$sBasket.content item=sBasketItem}{$sBasketItem.articlename}{/foreach}
–> Ausgabe Beispiel: X-BoxSony Display
Damit kann ich eine Variable/Array auslesen.
{if VARIABLE | strstr:“Display”}Beispieltext{/if}
{if strpos(VARIABLE, ‘Display’) != false}Beispieltext{/if}
MEIN PROBLEM:
Wie weise ich das Ergebnis aus der foreach Schleife einer Variable zu, die ich dann mit strstr oder strpos auslesen kann?
Hab mir assign angeschaut, aber komme auf kein Nenner…
Damit ich das richtig verstehe: Du willst bspw. bei X-BoxSony Display einen Text hinzufügen, abhängig ob das Wort “Display” vorkommt oder nicht?
Falls ja: Dann gehört der Kram mit in die Schleife.
1 Like
Vielen Dank! Das war es, so geht es jeweils -->
{foreach from=$sBasket.content item=sBasketItem}{if $sBasketItem.articlename|strstr:“Display”}Beispieltext{/if}{/foreach}
{foreach from=$sBasket.content item=sBasketItem}{if strpos($sBasketItem.articlename, ‘Display’) != false}Beispieltext{/if}{/foreach}
Du brauchst keine zwei Schleifen.
Das kann alles in eine.
Alternativ auch elseif / else: http://www.smarty.net/docsv2/de/language.function.if.tpl
…ja, war nur ein Beipiel, dass man entweder so oder so machen kann…
Natürlich nur eine der beiden Schleifen…
… danke für die Unterstützung!