Zurück zur Übersicht

OXID Hidden Feature - mehr als 5 Bestseller auf der Startseite anzeigen

24.01.2017

Hidden Features(2)

Die Startseite ist schon eine besondere Seite, hier landen oft mehr als 50% der neuen Besucher.

Deshalb empfangen viele Shops ihre Kunden hier bereits mit einer Liste ihrer Bestseller. Die Produkte, die sich insgesamt als die beliebtesten herausgestellt haben, interessieren mit hoher Wahrscheinlichkeit auch neue Besucher.

Nun gibt es bei der Zusammenstellung dieser Liste in OXID eShop zwei Möglichkeiten: Man kann diese Bestseller (Top-Produkte) manuell im Backend auswählen, stellt diese Liste also als Verkäufer selbst zusammen. Oder man lässt sie von OXID automatisch anhand der Verkaufszahlen ermitteln.

Falls Sie gerade nicht wissen, wo das eingestellt wird: Unter StammdatenGrundeinstellungen auf dem Tab "Performance" finden Sie diese als Eintrag "Liste der meistverkauften Artikel (Top of the Shop)".

Uns sollen jetzt hier nur die automatisch ermittelten Bestseller interessieren. In den aktuellen OXID Themes Azure und Flow ist die Anzahl der angezeigten Bestseller auf 5 festgelegt. Nicht mehr und nicht weniger. Doch diese Anzahl lässt sich ändern, sogar rasch und einfach.

Sie müssen dazu allerdings das entsprechende Template öffnen und bearbeiten. Beachten Sie dabei, entweder ein Child-Theme anzulegen oder die angepasste Datei so zu sichern, dass Sie sie nach einem Shop-Update wiederherstellen können (wie das für sämtliche Theme-Änderungen der Fall ist).

Öffnen Sie das Template /application/views/tpl/page/shop/start.tpl

Je nach Theme finden Sie dort irgendwo den Aufruf

$oView->getTop5ArticleList()

Dieser Aufruf holt die Bestsellerliste, damit sie anschließend angezeigt werden kann. Der Name ist an dieser Stelle etwas irreführend (und historisch gewachsen). Er impliziert, dass fünf Top-Artikel geladen werden. Ist ja standardmäßig auch so. Was viele nicht wissen: Übergibt man jetzt innerhalb der Klammern eine Zahl, die größer als Null ist, lädt der Shop nicht fünf, sondern diese Anzahl an Bestseller-Artikeln. Der Aufruf

$oView->getTop5ArticleList(10)

lädt also nicht fünf, sondern zehn Bestseller Produkte.

Ganz wichtig: Die Zahl muss an der Stelle übergeben werden, an der der Aufruf das erste Mal stattfindet. Sie werden diesen Aufruf in der start.tpl mehrmals (in der Regel zweimal) finden, weil OXID zunächst prüft, ob es Bestseller gibt, und sich diese dann in einer zweiten Abfrage holt. Die Zahl müssen Sie beim ersten Mal übergeben, da OXID dann die Bestseller aus Performance-Gründen cacht, also zwischenspeichert. Im zweiten Aufruf können Sie die Zahl dann weglassen, da ist sie nicht mehr nötig.

Im Flow sieht der ursprüngliche Code in der start.tpl (ab Zeile 38) so aus:

[{if $oView->getTop5ArticleList()}]
[{assign var="oAction" value="oxactions"|oxNew}]
[{assign var="blActionLoaded" value=$oAction->load('oxtop5')}]

[{if $blActionLoaded}] [{include file="widget/product/list.tpl" type="infogrid" head=$oAction->oxactions__oxtitle->value subhead="START_TOP_PRODUCTS_SUBHEADER"|oxmultilangassign listId="topBox" products=$oView->getTop5ArticleList() rsslink=$rsslinks.topArticles rssId="rssTopProducts" showMainLink=true iProductsPerLine=2}] [{/if}] [{/if}]

Sie haben einen Aufruf (die Prüfung, ob es überhaupt Bestseller zu laden gibt) in Zeile 1 und einen in Zeile 6. Um jetzt z. B. zehn Bestseller Artikel zu laden, ändern Sie die erste Zeile einfach in

[{if $oView->getTop5ArticleList(10)}]

Den Rest einfach so lassen, wie er ist.

Übrigens - wir erstellen auch Child-Themes und passen Template-Dateien an. Wenn Sie also Hilfe benötigen, sagen Sie uns einfach Bescheid.


Hat dir dieser Beitrag gefallen oder geholfen ein Problem zu lösen? Dann abonniere jetzt unseren Grips-Letter. Damit bekommst du viele weitere Tipps und Infos, kostenlos frei Haus.


Kategorien: Pimp your Shop | Schlagworte: Bestseller, OXID Tutorial, Startseite, Verkaufsförderung

Beitrag kommentieren

Wie alle anderen Websites verwendet auch unsere Cookies. Wenn du unsere Website verwendest, stimmst du dem zu.

Mehr Infos

Einverstanden!