Hallo Leute, für mein aktuelles Template suche ich nach einer Lösung für das Artikel Listing. Die ersten vier Boxen sollen die Klasse “articleBox” erhalten. Die fünfte die Klasse “articleBoxL” - die Demo hat ja bereits eine if-abfrage nach $itemlast oder ähnlich, jedoch habe ich hier mit kein Erfolg! Also heißt folgendes: ARTIKL ARTIKEL ARTIKEL ARTIKEL ARTIKEL(L) ARTIKEL ARTIKEL ARTIKEL ARTIKEL ARTIKEL(L) Gibt es eine andere Möglichkeit?
[/code]
Vielen Dank für den Lösungsansatz. Leider habe ich damit kein Erfolg. Jede der Boxen hat ausschließlich die Klasse articleBox - keiner davon die articleBoxL — Kann ich dem sagen, dass er jede fünfte Box eine andere Klasse geben soll? Eventuell mit % ?
[quote=“albrechtkom”]Vielen Dank für den Lösungsansatz. Leider habe ich damit kein Erfolg. Jede der Boxen hat ausschließlich die Klasse articleBox - keiner davon die articleBoxL — Kann ich dem sagen, dass er jede fünfte Box eine andere Klasse geben soll? Eventuell mit % ?[/quote] Das muss funktionieren! Template-Cache gelöscht?
Ich habe damit leider keinen Erfolg. Was sind „last“ und „first“? Sind das Klassen oder sind es feste Variablen von Shopware? Den Template-Cache habe ich geleert. Zur listing.tpl - hier schreibst du „den Block überladen“: heißt es einfach rein in die Datei?
first ist der erste Datensatz welche durch die Schleife läuft, last der Letzte.
Okay, das hatte ich mir gedacht. Aber woran kann es liegen, dass die if-abfrage bei mir nicht berückstichtigt wird?
Hat jemand vielleicht noch einen Lösungsvorschlag?
Kann keiner helfen? Keiner eine Idee?
Ich habe immer noch das gleiche Problem. Ich lasse 5 Boxen mit Artikeln ausgeben. Die letzte Box soll eine andere Klasse erhalten, da diese keinen margin-right haben darf (Boxen werden gefloatet) Wie kann ich dem letzten div in der Reihe eine andere Klasse geben?
Morgen, hier erst mal als kleine Lektüre: http://www.smarty.net/docsv2/en/languag … on.foreach Mehrere Wege kannst du machen. Hier mal der Weg mit zwei verschiedenen box_article.tpl Dateien, welche dann deine verschiedenen Klassen haben. Jeder fünfte Datensatz wird mit box_article2.tpl aufgerufen… {block name="frontend\_listing\_list\_inline"} {foreach $sArticles as $sArticle name=test} {if $smarty.foreach.test.index % 5 == 0} {include file="frontend/listing/box\_article2.tpl" sTemplate=$sTemplate lastitem=$sArticle@last firstitem=$sArticle@first} {else} {include file="frontend/listing/box\_article.tpl" sTemplate=$sTemplate lastitem=$sArticle@last firstitem=$sArticle@first} {/if} {/foreach} {/block}
Oder du machst es nur mit einer Templatedatei und führst eine Variabel mit. Dann musst du eben in der box_article.tpl die Variable abfragen und handeln: {block name="frontend\_listing\_list\_inline"} {foreach $sArticles as $sArticle name=test} {if $smarty.foreach.test.index % 5 == 0} {assign var='var1' value=5} {else} {assign var='var1' value=0} {/if} {include file="frontend/listing/box\_article.tpl" sTemplate=$sTemplate lastitem=$sArticle@last firstitem=$sArticle@first} {/foreach} {/block}