Intelligentere Sortierung

Hey Leute, ich habe jetzt einiges zur Kategorie Sortierung gelesen und kriege meine Frage nicht wirklich beantwortet.

Ich bin hinter die Logik der Standard-Sortierung dahinter gekommen, die reicht mir aber nicht aus. Als Beispiel habe ich eine Sortierung über ein Custom Field erstellt, die auch funktioniert. Nur so habe ich es hinbekommen, Produkte nach Hersteller zu sortieren. Mein Problem ist jetzt, dass ich innerhalb dieser Herstellersortierung, eine weitere Sortierung nach verkauften Einheiten haben möchte. Für mich unverständlich, warum das nicht möglich ist? Man kann immer nur eine Sortiermöglichkeit auswählen, wenn diese erfüllt ist, kommt die nächste, wenn noch Produkte übrig bleiben, welche bei der vorherigen Bedingung nicht reingepasst haben.

Zum Veranschaulichen:

Hersteller A hat im Custom Feld eine 1 stehen, Hersteller B eine 10, Hersteller C eine 20. In den Sortier-Kriterien ist das Custom Feld aufsteigend mit Priorität 2 eingestellt.

Also kommen erstmal alle Artikel wahllos rein, die in Custom Feld die 1 stehen haben, danach die 10, danach die 20. Artikel, die das Custom Feld nicht gefüllt haben, reihen sich dann dahinter ein, mit dem nächsten Sortier-Kriterium „Verkaufte Einheiten“, was die Priorität 1 hat.

Es ist ja irgendwo nachvollziehbar, wenn man nach einem Custom Feld die Sortierung so aufbaut, dass diese erstmals Priorität hat. Von der Logik also eigentlich verständlich, warum es so funktioniert wie es funktioniert, ABER, wenn ich anstelle von dem Custom Feld jetzt das Hersteller Feld, also den Hersteller Namen nehme, wäre die Logik identisch. Wie kann ich also nach zwei Kriterien gleichzeitig sortieren?

Nicht nur die Möglichkeiten der Sortierung von Beginn an sind gering, es gibt auch kaum Plugins, die eine automatische intelligente Sortierung ermöglichen. Ich würde gerne auch Produkte, die öfters geklickt werden, prominenter platzieren und nicht nur nach verkauften Einheiten gehen.

Vielleicht verstehe ich ja etwas falsch und die Lösung zu meinem Vorhaben ist ganz einfach, ich wäre auf jeden Fall dankbar, wenn mich dann jemand aufklären könnte.

Dann müsstest du erst einmal die „Klickzahlen“ in Shopware erfassen, was im Standard nicht der Fall ist.

Es ist ohne Individualisierung nicht möglich, gleichzeitig nach mehreren Kriterien zu sortieren. Dazu musst du dir ein Plugin schreiben und entsprechend den SQL-Befehl anpassen.

Wieso es hierfür keine Plugins gibt… die Nachfrage geht vermutlich gegen null.

Und wieso das im Standard nicht drin ist… Caching. Wenn du solch dynamische Sortierungen haben möchtest, dann setzt du damit das Caching aus, was zu höheren Serverauslastung und ggf. längeren Ladezeiten führt. Aber das Gute an Shopware ist, dass du alles individualisieren kannst.

Um das Caching nicht auszusetzen, könnte man ja immer Nachts die Daten aktualisieren, um das Ranking zu bestimmen. Das ist alles nachvollziehbar, was du schreibst, aber wenn du jetzt an der Sortierung etwas änderst, läuft diese ja auch nicht durch den Cache und wird direkt live angewendet.

Aber schon mal schön zu wissen, dass ich es grundsätzlich nicht falsch gemacht habe und es tatsächlich nicht von Werk aus vorgesehen ist.

Mal schauen ob ich da noch eine Lösung zu finde und dran denke sie hier zu teilen :stuck_out_tongue:

Ich habe mir den Quelltext nie angesehen, aber rein vom Logischen… Für sortierte Ergebnisse gibt es ebenfalls Cache Routes, da sich die Sortierung nicht ändert. Im Prinzip ist das einfach nur eine weitere/alternative URL. Erst in dem Moment, wenn Daten live abgefragt werden müssen, dann wird der Cache übergangen.