Varianten sortieren

Hallo, ich habe die Suche bereits genutzt aber entweder die Beiträge sind zu umfangreich oder spiegeln nicht das bei mir vorhandene Problem wieder. Ich versuche die Größenangabe bei Importen zu sortieren. Ich importiere per CSV Datei. Und zwar handelt es sich um Kinderkleidung wie z.B. 86/92, 98/104, 110/116 usw. Leider zeigt shopware mir im Frontend dann immer die Sortierung ab 110/116 an und dann weiter mit 86/92, 98/104 usw. Ich würde die Variantenauswahl im Frontend nun gerne per Bestellnummer lösen, weiß jemand wie das geht? Oder vielleicht eine andere Lösung auf die ich so noch nicht gekommen bin? Mit den Sets habe ich mich in der Form noch nicht beschäftigt, könnte das bei unterschiedlichen Größen (wir haben auch 62, 68, 74 usw. im Programm. Wer kann helfen?

Habe mich nun nochmal mit den Sets beschäftigt aber auch das hilft mir leider überhaupt nicht weiter. Shopware sortiert die Varianten stringend nach Zahlen, mag ja manchmal gut sein in diesem Fall nun jedoch so gar nicht :frowning: Wäre super wenn jemand helfen könnte. Nun schlaf ich erstmal drüber.

Hi Matti, Eine Möglichkeit wäre es, dass, du es, direkt über die Datenbank löst. Du suchst dann einfach nach deinen Größen und schaust in welcher Tabelle sie stehen. Wenn du dies rausgefunden hast, sortierst du die Größen nach Wunsch, indem du ihnen die Reihenfolge zuteilst. Lg Oktay Gesendet von meinem SM-G900F mit Tapatalk

Hallo, du kannst in der Liste im Backend per Drag’n’Drop selbst sortieren. Die Varianten im Frontend haben genau die Reihenfolge die du im Backend definierst. Nach dem sortieren musst du das Set speichern - das ist aber eine globale Sortierung, wenn du die da änderst, ändert sich das bei allen Artikeln. Generell wird hier nicht automatisch nach irgendwas sortiert, wahrscheinlich hast du die einfach in der Reihenfolge angelegt. Moritz

Hi, dazu gibt es bereits seit Mai 2015 ein Ticket http://jira.shopware.de/?ticket=SW-11599 Bei Shopware interessiert es leider niemanden, da nur eine Handvoll User das „Feature“ die Sortierung nach natürlichen Zahlen benötigen.

1 Like

Also, es geht über die Datenbank. In der Tabelle s_article_configurator_options ist die Reihenfolge in der Spalte “position” angegeben. Ich habe jetzt verschiedene Präfixbereiche definiert … zB alle Schuhgrößen liegen im 600er Bereich … alle Größen einer “Art” bekommen dann das Präfix+Wert, für den Bereich der Größe “22” bekommen dann die Größen 22, 22-23, 22-24, usw die 622. Das macht man für jeden Eintrag. Andere Variantenarten hab ich in eigenen Präfixbereichen durchsortiert, zB S, M, L bekommt dann 501, 502, 503. Danach Cache leeren und alles ist hübsch. Mit HeidiSQL geht das recht flott… muß natürlich angepaßt werden, wenn man neue Einträge dazu nimmt.

Hallo zusammen, @aldente: ich hatte das ebenso wie du gelöst und habe das gestern mal wieder gemacht, jedoch habe ich das Problem, dass bei einem neuen Import (ich arbeite über eine zusätzliche Software) in Shopware sämtliche Werte wieder überschrieben werden und die Ordnung somit dahin ist. Hast du eine Idee, wie man die Reihenfolge quasi „unüberschreibbar“ machen kann ? Würde mich freuen von dir zu lesen. LG Oktay

wenn ihr wollt, votet doch mal für:

https://issues.shopware.com/#/issues/SW-14043

denn uns betrifft das gleiche Problem und nach einem erneuten Import überschreibt er Varianten erneut. Es wäre schön, wenn Shopware diesbezüglich mal Stellung nehmen würde.

Ich würde das Thema noch einmal gerne nach oben holen wollen.
Gibt es seitens Shopware die Möglichkeit, eine Stellung zum Problem zu nehmen? Das würde mich inzwischen sehr freuen.

Laut unserer Agentur wird beim API Import von Artikeln mit Varianten die Position nicht übertragen, obwohl dies Bestandteil der API Doku ist.
http://community.shopware.com/REST-API-Varianten-Endpunkt_detail_1694.html#Option

Genaueres unter Shopware Issuetracker

Kann mir nicht vorstellen, dass wir die Einzigen sind, die diesen Bug gerne behoben haben möchten.

Davon gehe ich auch aus, jedoch denke ich, dass das Problem mit Shopware 5.2 behoben werden sollte…Ich HOFFE zumindest :smiley:

Wie bereits angesprochen ist das manuelle ordnen der Sets im Backend kein unfassbar gewaltiger Aufwand.

 

@clemens schrieb:

Wie bereits angesprochen ist das manuelle ordnen der Sets im Backend kein unfassbar gewaltiger Aufwand.

 

Diese werden aber beim erneuten Import wieder überschrieben.

Nochmals die Frage an Shopware (ich gebe ich nicht auf Smile).

Wäre es möglich, seitens Shopware mal eine Stellung zu nehmen, zum immernoch bestehenden Problem der Sortierung via API.

Unser Entwickler hat einen neuen Kommentar zur Problematik im IssueTracker eingetragen:

Dort gibt es die configuratorOptions vom Typ Option, wobei Option wiederum eine Position hat. … das Model Option wird ja in der Doku aufgeführt mit einer Position, innerhalb der Optionsliste - ich würde dann einfach annehmen, dass das auch funktioniert, was es aber ja nicht tut :slight_smile:

Shopware Issuetracker 

Und noch ein Versuch zu pushen. Ich kann mir beim besten Willen nicht vorstellen, dass es nur wenige wie mich gibt, die dieses Problem stört.
Wenn man seine Variantenartikel per API pflegt, will man doch diese sauber in der Reihenfolge angezeigt bekommen möchte, in der man sie positioniert.

Habe genau dasselbe Problem und würde mich sehr über eine Lösung freuen.

-push-

Will sich dem Problem seitens Shopware keiner annehmen? Okay, es ist eine Community Version, nur würde ich ggf. gerne wissen, ob solch ein Problem in der Professional gelöst werden kann seitens Shopware, wenn es über die Community Version nicht klappt?

Es wäre für auf jeden Fall eine Überlegung wert.

Ergo nochmals die Bitte an Shopware, sich zu dem Thema zu äußern.

Ticket: https://issues.shopware.com/#/issues/SW-14043

Hallo,

seit Monaten stolpere ich immer mal wieder hierüber und wundere mich, dass das Thema nach wie vor nicht abgeschlossen zu sein scheint. Oder gibt es da mittlerweile eine sinnvolle Lösung für?

Ich habe jetzt mal die Tabelle s_configurator_options angeschaut und festgestellt, dass die Größen innerhalb ihrer Gruppe teilweise dieslbe Position bekommen. So hat z. B.

Größe 3 = Position 1
Größe 3.5 = Position 0
Größe 4 = Position 3
Größe 4.5 = Position 0

Damit ergibt sich im Frontend die Reihenfolge der Größen = 4.5 , 3.5 , 3 , 4

Das sieht doof aus und verwirrt mehr als es nützt. Ich habe also die Positionen nun so angegeben:

Größe 3 = Position 30
Größe 3.5 = Position 35
Größe 4 = Position 40
Größe 4.5 = 45

Und auch die anderen Größen, die im Shop vorkommen, sortiert:

XXS = 0
XS = 1
S = 2
M = 3…

Ich habe mir nun mit PHPmyAdmin die Tabelle exporiert und die exportierte CSV in Excel geöffnet. Dort füge ich eine erste Zeile ein, um die Spalten genauso wie in der Datenbank zu benennen. Dann einen Filter auf die Spalten legen und damit nur noch die group anzeigen lassen, die die Größen enthält (bei mir ist das group = 2). Dann habe ich alle Größen, die bei uns sehr gemischt ausfallen. Nun überschreibe ich die Werte in der Spalte Position:

Name XXS = Position 0
XS = 1
S = 2
30 = 300
120 cm = 1200
105 cm = 1050
3.5 = 35
105 - 120 cm = 1050

Die Idee dahinter ist, dass jeder Artikel einen Größenschlüssel hat, dem die Varianten folgen. Also es gibt ein bestimmtes Shirt nur in XXS - XXL, aber nicht in XS, 36, L und 12.
Genauso gibt es den Schuh nur 40, 40,5, 41, aber nicht in 40 und 120cm.

Jetzt habe ich also jeder Größenvariante eine Position zugeordnet. Jetzt muss ich das nur wieder in PHPmyAdmin hineinbekommen. Auch dafür hilft mir Excel mit der Funktion “Verketten”.

Bei mir sieht das nun so aus:
 
=VERKETTEN(“UPDATE datenbank.s_article_configurator_options SET position = '”;D3;"’ WHERE s_article_configurator_options.name = ‘";C3;"’;")

In der Zelle D3 ist die neue Position enthalten, in C3 der Name. Das Ergebnis der Formel ist dann:
UPDATE datenbank.s_article_configurator_options SET position = ‘5’ WHERE s_article_configurator_options.name = ‘XL’;

Das kopiere ich nun in die folgenden Zeilen und erhalte so z. B.:
UPDATE datenbank.s_article_configurator_options SET position = ‘2’ WHERE s_article_configurator_options.name = ‘S’;
UPDATE datenbank.s_article_configurator_options SET position = ‘3’ WHERE s_article_configurator_options.name = ‘M’;
UPDATE datenbank.s_article_configurator_options SET position = ‘4’ WHERE s_article_configurator_options.name = ‘L’;
UPDATE datenbank.s_article_configurator_options SET position = ‘1’ WHERE s_article_configurator_options.name = ‘XS’;
UPDATE datenbank.s_article_configurator_options SET position = ‘400’ WHERE s_article_configurator_options.name = ‘40m’;
UPDATE datenbank.s_article_configurator_options SET position = ‘700’ WHERE s_article_configurator_options.name = ‘70m’;
UPDATE datenbank.s_article_configurator_options SET position = ‘500’ WHERE s_article_configurator_options.name = ‘50m’;
UPDATE datenbank.s_article_configurator_options SET position = ‘600’ WHERE s_article_configurator_options.name = ‘60m’;
UPDATE datenbank.s_article_configurator_options SET position = ‘800’ WHERE s_article_configurator_options.name = ‘80m’;

Nun kopiere ich alle Zeilen und füge diese in das SQL-Fenster im PHPmyAdmin ein und starte den Befehl.

Und das war es. Ist bei unserem Shop mit 230 verschiedenen Größenangaben eine schnelle Lösung. Jedenfalls wenn man sich an Excel und die Datenbank rantraut. Der nächste Schritt sollte nun sein, aus der Datenbank-Abfrage eine PHP-Datei zu erzeugen, die man dann z. B. per Cron-Job im Anschluss an den Import aufrufen kann.

Das sollte zumindest solange gut funktionieren, wie man keine weiteren (=neue) Größen hinzufügt. Dann muss halt die PHP-Datei eintsprechend angepasst werden.

Ich möchte nicht behaupten, dass das die Lösung für jeden ist, aber zumindest bei uns funktioniert es so auch bei sehr unterschiedlichen Größenangaben sehr gut.