Zurück zur Übersicht

Tutorial: Artikellisten sortieren in OXID eShop

10.02.2017

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:

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.

Kategorien: Pimp your Shop | Schlagworte: OXID Tutorial, Produktsuche, Umsatz steigern, Usability

Sharing is caring - teile den Beitrag

Tipps + News für deinen Online-Shop

Abonniere den Grips-Letter, und erhalte Ideen und Impulse für deinen Shopware oder OXID Shop, die dir helfen, sichtbarer zu werden, deinen Umsatz zu steigern und Zeit, Geld und Nerven zu sparen. Für 0 Euro direkt in dein Postfach!

Du kannst dich jederzeit wieder abmelden. Mehr dazu findest du in unserer Datenschutzerklärung.

Kommentare

Alex sagt:

05.09.2017 um 13:34 Uhr

Hallo Bettina, vielen Dank für die Antwort, ich habe es geschafft! Und zwar musste ich den oben genannten Codeschnipsel nicht in die "list.tpl" setzen, sondern für jedes Produkt in der Liste und damit einmal in die "listitem_infogrid.tpl". Logisch. Denn der Wert für oxinsert ist ja pro Produkt und nicht pro Liste zu sehen. Gruß

Antworten

Bettina Ramm sagt:

06.09.2017 um 06:31 Uhr

Hallo Alex, eigentlich braucht OXID das an der Stelle nur einmalig, damit oxinsert an der Stelle überhaupt im Artikel-Objekt zur Verfügung steht. Danke für den Hinweis!

Alex sagt:

04.09.2017 um 12:39 Uhr

Hallo, ich versuche die Sortierung nach oxinsert einzufügen, aber leider erfolglos. In die "list.tpl" habe ich den Text eingefügt, aber leider funktioniert es nicht. Was mache ich falsch?

Antworten

Bettina Ramm sagt:

05.09.2017 um 07:57 Uhr

Hallo Alex, das kann ich auf die Ferne leider nicht beurteilen. Vielleicht ist die Sortierung in Ihrem Theme fest gesetzt und wird nicht aus den Shop-Einstellungen geladen. oxinsert haben Sie bei den Sortier-Feldern (Backend Einstellungen) auch ergänzt? Ggf. hilft tmp-Ordner leeren. Viele Grüße, Bettina

Hr. Sevinc von http://www.ariasat.eu sagt:

27.04.2017 um 12:21 Uhr

Hallo, leider funktioniert Drag&Drop Sortier Module von Marmalade.de nicht mit Oxid 4.10.3. Könnten Sie bitte den Mini-Tutorial für Standard-Sortierung (z. B. nach Neuheiten) immer in allen Listen zu integrieren veröffentlichen?

Antworten

Bettina Ramm sagt:

27.04.2017 um 13:47 Uhr

Hallo Herr Sevinc, danke für den Hinweis. Ich habe eine etwas angepasste Version des Moduls, die wir im 4.10 getestet haben, hier zum Download bereitgestellt.

Beitrag kommentieren

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

Folgende Cookies zulassen:

Alle akzeptieren

Mehr Infos


Welche Cookies werden gesetzt?

Marketing
_fbp Dieses Cookie verwendet Facebook, um Werbeprodukte anzuzeigen.
Notwendig
PHPSESSID Behält die Einstellungen der Seite des Benutzers bei allen Seitenanfragen bei.
robin_marketing_popup Sorgt dafür, dass das Marketing-Popup nicht bei jedem Seitenwechsel erneut aufpoppt.
dwa_cookie_noticed Speichert die Einwilligungen zu den Cookies für ein Jahr. Dieser Cookie kann zurückgesetzt werden, wenn die Einwilligung entzogen werden soll.
Statistik
_pk_id Matomo - Cookie zum Speichern einiger Details über den Benutzer, z. B. der eindeutigen Besucher-ID (anonymisiert), notwendig zum Zählen wiederkehrender Besucher. - Speicherdauer 13 Monate
_pk_ses Matomo-Cookie zur Speicherung Sessionabhängiger Nutzerdaten - Speicherdauer 30 Minuten

Weggabelung

Lohnt sich ein Umstieg von
OXID eShop auf Shopware?