Webfibel

Wissenswertes rund um das Internet & der Webentwicklung

Configurable Swatches – Bilder wechseln nicht

15. Juni 2016 Martin Hesse 0 Comments

Ein aktuelles Problem in einem Magento-Shop war bzw. ist es, dass in bestimmten Fällen die Bilder nicht wechseln, obwohl es zu den Varianten entsprechende Bilder gab.

Ein solches Beispiel sehen wir hier:

Das konfigurierbare Produkt mit seinen Varianten.

Das konfigurierbare Produkt mit seinen Varianten.

Das konfigurierbare Produkt hat 3 Attribute, welche verschiedenen Optionen haben. Klickt man sich jetzt einmal durch die Varianten durch, merkt man schnell, dass die Bilder nicht immer korrekt wechseln.

Ich habe mal zwei Fälle durchgespielt, die wie folgt aussehen:

Fall #1 => Farbe: Dunkelgrau, Form: medium und Kabelfarbe: Rot => Ergebnis: funktioniert!
Fall #2 => Farbe: Weiß, Form: small und Kabelfarbe: Weiß => Ergebnis: funktioniert nicht!

Wir werden schnell feststellen, dass das einzigste Attribut, welches Probleme macht, die Kabelfarbe ist. Desweiteren stellen wir fest, dass auch hier nur die Kabelfarbe „Weiß“ nicht reagiert. Uns fällt auf … es existiert sowohl für das Attribut „Farbe„, als auch für das Attribut „Kabelfarbe“ die Option „Weiß„.

In der Regel sollte das keine Probleme machen, wenn man denn mit eindeutigen Ids arbeitet. Was hier aber nicht gemacht wurde. Wenn man sich den Quellcode anschaut und ein bisschen verfolgt wie das ganze arbeitet, dann finden wir Inline ein JavaScript-Abschnitt, der die ganzen Informationen zusammenhält.

In dem markierten Bereich gibt es bei meinen Kommentar ein JSON, welches mit allen relevanten Informationen gefüllt ist, die wir benötigen um die Bilder zu wechseln.

Wenn wir uns dieses jetzt noch etwas genauer anschauen und vielleicht durch einen Validator hauen, der das ganze auch noch schön einrückt, wie zum Beispiel JSON Formatter & Validator, dann fällt uns folgendes auf:

Ein Blick in das JSON ...

Ein Blick in das JSON …

Es werden die option_labels mit eindeutigen Namen im Code verzweigt. Das ist eher unglücklich gelöst. Ändern wir also nun die Option unserer Kabelfarbe von „Weiß“ in einfach mal „Weiß2„, sehen wir folgenden Unterschied im JSON-Code:

Das JSON nach unserer Anpassung

Das JSON nach unserer Anpassung

Wie wir sehen taucht jetzt auch unsere Option „Weiß2“ auf und die dazugehörigen Bilder sind jetzt auch korrekt verknüpft.

Wenn wir jetzt unseren Fall #2 durchspielen, merken wir, es funktioniert!

Wir werden das Problem noch in den Magento Bug Tracker eintragen und dann entsprechend berichten, sofern es hierzu was neues gibt.

#Bilder#Configurable#Swatches

Previous Post

Next Post

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar
wpDiscuz