[QUOTE=obsidian;9543]Leider nein.
Die Anzeige ist immer vierspaltig, ich brauche sie wegen des blöden Eye-Candies meiner &%§"%§-Designerin aber 3-spaltig.
Es gibt in den Templates keine ZĂ€hlschleifen, sondern es wird ĂŒber alle Items, die zum Beispiel $oView->getAccessoires() zurĂŒckgibt, iteriert. Alle Funktionen, die fĂŒr so eine Ausgabe vorgesehen sind, geben genau 4 Items zurĂŒck.
Gibt es eine zentrale Konstante oder Ini-Variable, die das regelt?[/QUOTE]
So sind Designer haltâŠ
Und nein, das kann man nicht zentral einstellen, wie denn auchâŠ
Aber, 2 Möglichkeiten:
Mach die Dinger per CSS doch einfach breiter, so dass nur 3 StĂŒck in eine Zeile passen.
Dann brechen die von alleine um.
Oder:
am Anfang von â_header.tplâ folgenden code einfĂŒgen:
[{PHP}]
define('ENTRIES_PER_LINE',3);
[{/PHP}]
Damit wir die Anzahl der Boxen pro Zeile festgelegt.
In [B]allen [/B]betroffenen Templates [B]nach [/B]"[{include file=âinc/product.tplââŠ" folgende Abfrage einfĂŒgen:
[{if ($smarty.foreach.[B]foreach_name[/B].iteration % $smarty.const.ENTRIES_PER_LINE) == 0 && !$smarty.foreach.[B]foreach_name[/B].last}]
<br class=âforced_breakâ />
[{/if}]
Damit wird geprĂŒft, ob die interne Reihenfolge des aktuell von Smarty bearbeiteten Datensatzes ohne Rest durch 3 teilbar ist, und wenn ja, wird, wenn es [B]nicht [/B]die Ausgabe des [B]letzten [/B]Datensatzes ist, ein break ("<br class=âforced_breakâ />") ausgegeben, um eine neue Zeile zu erzwingen.
(Ăber die CSS-Klasse âforced_breakâ kann man dann noch die Höhe des Abstandes definierenâŠ)
[B]foreach_name[/B] ist der im â[B]name=[/B]â-Parameter Name der Smarty âforeachâ-Schleife(n) angegebene Name.
Wenn, wie z.B. in âlast_seen_productsâ, der â[B]name=[/B]â-Parameter in der Schleife fehlt, muss man ihn entsprechend einbauenâŠ
Betroffen sind die Template-Dateien:
account_noticelist.tpl
account_wishlist.tpl
basket.tpl
compare.tpl
details.tpl
details_persparam.tpl
list.tpl
search.tpl
start.tpl
thankyou.tpl
wishlist.tpl
dyn\last_seen_products.tpl
inc\recommlist.tpl