In einigen Bereichen arbeitet xt:Commerce mit foreach-Schleifen – z.B. in den Produktlisten. Manchmal möchte man aber ohne großes Gefummel eine Ausgabe erhalten, wenn die Schleife leer ist. Hierfür kannst du {foreachelse} verwenden. {foreachelse} gibt alternativ aus, wenn in der foreach-Schleife keine Daten enthalten sind.
Beispiel gefällig?
{foreach name=aussen item=order_data from=$order_content}
// Bestelldaten
{foreachelse}
Sie haben noch nichts bestellt!
{/foreach}
Nix Großes also, aber manchmal kann man’s gut gebrauchen, ohne direkt in den Code eingreifen zu müssen.
Im Falle eines xt:Commerce Onlineshops ließen sich zudem auch die in foreach vorhandenen Variablen nutzen. Nehmen wir als Beispiel die die Liste “Neue Produkte” auf der Startseite. Innerhalb der der Foreach-Schleife kann mit first und last der erste und letzte Artikel der Liste ermittelt werden. Man könnte hier also den ersten Artikel innerhalb der Liste als Top-Angebot promoten und die anderen als normale Liste.
Der Code dafür wäre folgender:
{foreach name=aussen item=order_data from=$order_content}
{if $smarty.foreach.aussen.first}
// hier wird der Top-Artikel dargestellt
{/else}
// und hier kommen die restlichen Artikel
{/foreach}
In der Praxis kann das dann so wie auf dem hier gezeigten Screenshot aussehen.
Insgesamt kann man sagen, dass man damit mehr Flexibilität in xt:Commerce gewinnt und die Möglichkeit hat, den Onlineshop interessanter zu gestalten.
Ihr habt weitewre Ideen, was man mit smarty in xt:commerce noch so alles anstellen kann? Dann nichts wie her damit ;o)