Briefmarkensammlung

Standardmäßig können Artikellisten in OXID eShop (z. B. in den Kategorien) vom Kunden per Klick nach Titel und Preis auf- und abwärts sortiert werden.

Diese Sortierung lässt sich relativ einfach anpassen und erweitern, so dass sich Produkte z. B. auch nach Neuheiten oder Bewertung sortieren lassen.

Ich will Ihnen heute zeigen, wie es geht, und welche Fallstricke es gibt.

Grundlegendes – wie Sie die Sortierung der Listen steuern

Zunächst muss ggf. die Sortierung der Artikellisten freigeschalten werden. Dazu gehen Sie im Shop Backend auf Stammdaten → Grundeinstellungen, dort auf den Tab Einstell. und dort auf den Punkt Artikel.

Hier finden Sie die Option „Benutzer können Artikellisten sortieren“. Sie ist standardmäßig aktiviert. Wichtig hierbei, damit es funktioniert: Ihr Theme muss diese Funktion unterstützen.

Unter dieser Checkbox gibt es ein größeres Eingabefeld, das mit „Felder, nach denen Artikellisten sortiert werden können“ beschriftet ist. Hier stehen standardmäßig oxtitle (Titel) und oxvarminprice (Preis ab) drin. Sie können die Sortierung nun erweitern, indem Sie hier Sortierfelder ergänzen. Dazu verwenden Sie die Spaltennamen der Tabelle oxarticles (siehe unten). Nutzen Sie für jede Sortier-Option eine neue Zeile.

artikel-sortierung

Leider verwendet OXID keine dieser eingestellten Sortier-Optionen als Standardsortierung. Solange der Kunde keine Sortierung ausgewählt hat, werden die Artikel in interner Artikel-Sortierreihenfolge angezeigt. Diese lässt sich im OXID Backend nur recht umständlich manipulieren. Sie gehen dazu in der Kategorie auf den Tab Sortierung und sortieren Artikel für Artikel ein, indem Sie ihn nach rechts ziehen. Der Nachteil ist, dass Sie, wenn Sie eine kleine Änderung vornehmen wollen, die gesamte Liste neu sortieren müssen.

Die Agentur Marmalade hat ein nützliches Modul bereitgestellt, das diese Lücke schließt. Damit lässt sich ganz einfach und bequem die Sortier-Reihenfolge der Artikel innerhalb einer Kategorie manipulieren. Das stelle ich Ihnen gleich vor.

Mit einer minimalen Anpassung des Shops ist es auch möglich, eine Standard-Sortierung (z. B. nach Neuheiten) immer in allen Listen zu integrieren. Allerdings ist hier ein wenig Programmieraufwand erforderlich. Wenn Sie daran Interesse haben, hinterlassen Sie einen kurzen Kommentar, dann mache ich dazu ein extra Mini-Tutorial, denn das würde den Rahmen dieses Artikels sprengen.

Ein paar Beispiele – danach kann sortiert werden

Wenn Sie jetzt ratlos sind, weil Sie nicht wissen, wie die Spalten heißen … hier sind ein paar Beispiele.

oxtitle Artikelbezeichnung
oxvarminprice Preis (ab)
oxartnum Artikelnummer
oxean EAN
oxtimestamp Artikeldatum (letzte Änderung)
oxinsert Artikeldatum (Erstellung)
oxrating Bewertung
oxstock Lagerbestand

Vorsicht, Falle. Immer gut testen

Es gibt noch eine kleine Falle, in die wir bei einem unserer Kunden getappt sind.

OXID „merkt“ sich, welche Felder einer Tabelle auf welcher Seite benötigt werden. Die übrigen Felder sind an der Stelle dann unbekannt. Das spart Speicher und soll dem schnelleren Laden der Seite dienen. Allerdings kann das dazu führen, dass OXID die Sortierfelder nicht kennt, wenn Sie sie nur in der Sortierung, sonst aber nirgends auf der Seite verwenden.

Im konkreten Beispiel wollten wir Artikel nach Neuheiten sortieren lassen (Feld oxinsert). Da wir dieses Datum, an dem der Artikel erstellt wurde, jedoch sonst nirgends auf der Seite angezeigt haben, kannte OXID das Feld nicht und ließ uns auch die Liste nicht danach sortieren.

Wir haben uns damit beholfen, dieses Datum unsichtbar im Seitenquelltext in einem HTML-Kommentar zu hinterlegen, so dass es beim Aufbau der Seite von OXID geladen und dann beim Sortieren erkannt wird. Die Syntax dafür lautet:

<!--[{$product->oxarticles__oxinsert->value}]-->

Vielleicht gibt es noch einen eleganteren Weg, das zu lösen, dann bitte gerne die Kommentarfunktion nutzen :)

Wichtig für Sie ist, dass Sie sich bewusst sind, dass es diesen kleinen Fallstrick geben kann – und die Sortierfunktion mindestens einmal selbst testen, bevor Sie sie tatsächlich live schalten.

Sortier-Modul von Marmalade

Es gibt ein nettes, kleines, kostenfreies Modul der Agentur Marmalade, das eine sehr einfache Möglichkeit bietet, Artikel innerhalb einer Kategorie nach den eigenen Vorstellungen vorzusortieren. Dazu ordnen Sie einfach die Artikel wie gewohnt der Kategorie zu. Anschließend können Sie sie auf dem Tab Sortierung ganz bequem per Drag and Drop (Ziehen mit der Maus) beliebig positionieren.

Category Order Modul OXID

Copyright: marmalade.de

Update 27.04.2017 – da es offenbar Probleme bei der Installation des Moduls von Github gibt, hier eine von uns etwas angepasste Version des Moduls. Darin sind die Pfade und die Modul-ID angepasst sowie der Link zu den jQuery Quellen auf https umgestellt, da diese ohne SSL nicht mehr abgerufen werden können. Hier können Sie die zip-Datei herunterladen.

Installation ist einfach: Entpacken, den Inhalt von copy-this hochladen, Modul aktivieren, tmp leeren, fertig.

kostenloses eBook SEO für OXID eShop

10 SEO Tipps für Ihren OXID eShop - kostenlos

Laden Sie sich Ihr kostenloses eBook herunter und optimieren Sie Ihren Shop ganz einfach selbst.

 

Thema: Pimp your Shop | Stichworte: , , , ,