Products size="small"

Moin,

ich muss in allen Templates in denen products.tpl mit size small eingesetzt wird die Anzahl der gleichzeitig angezeigten Produkte von 4 auf 3 reduzieren, z.B. in last_seen_products.

Wo kann ich das machen?

Im Admin habe ich keine Einstellung dazu gefunden. In den Templates schon gar nicht.

:confused:

Hallo,

http://www.oxid-esales.com/forum/showthread.php?t=1280&highlight=small

und

Hilfreich?

Gruß

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=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

Danke - umbrechen tut es im Moment automatisch. Darf nur leider nicht sein.

Function follows form. Design-Award shall follow. Don’t ask me how, I’m just the bleeding tech.

Dann gehen wir mal Source-Code ändern.

P.S. ist es geschmacklos heute zur Arbeit Thriller zu hören?:wink:

[B]Admin->Stammdaten->Grundeinstellungen->Einstellungen.->Artikel[/B]

Da ist fast die ganze Baggage:
Anzahl ähnlicher Artikel, die bei einem Artikel angezeigt werden

Anzahl der Artikel, die bei "Kunden, die dies gekauft haben, haben auch das gekauft" angezeigt werden 

Anzahl der Artikel, die bei "Frisch eingetroffen!" (neuste Artikel) angezeigt werden 

Anzahl von Crossselling-Artikeln und Zubehör, die bei einem Artikel angezeigt werden

Und für die [B]Last_seen [/B]müssen wir in core/oxarticlelist.php gehen und in Zeile 121 die 5 gegen eine 4 austauschen.

Zwar schon ein älterer Beitrag, bin über die Suche drauf gestoßen weil ich exakt das selbe Problem hatte.

Und für die Last_seen müssen wir in core/oxarticlelist.php gehen und in Zeile 121 die 5 gegen eine 4 austauschen.

So hab ich’s aber nicht gelöst, in den Core Dateien würd ich nichts umschreiben, geht auch direkt im Template last_seen_products.tpl :

...
  [{assign var="CountItems" value=1}]
  [{foreach from=$aLastProducts item=lastproduct}]
    [{if $CountItems < 4}]
    [{include file="inc/product.tpl" size="small" product=$lastproduct altproduct=$_lastproducts_aid sListType='' testid="LastSeen_"|cat:$lastproduct->oxarticles__oxid->value}]
    [{assign var="CountItems" value=$CountItems+1}]
    [{/if}]
  [{/foreach}]
...