Welches Bild bzw. Data Attribut für Standard Zoom austauschen?

Hi zusammen,

ich baue mir gerade einen eigenen Farbwähler für die Varianten und hänge gerade am Austausch des jeweiligen Zoombildes per JavaScript.

Welches Data Attribut muss ich austauschen, damit der Zoom Viewer das richtige Bild vergrößert?

Aktuell wechsele ich das data-img-large, aber irgendwas muss wohl noch reinitialisert werden, aber nur was?

Vielen Dank und viele Grüße,

Chris

Hi nochmal,

es ist auf jeden Fall das “data-image-original” . Ich muss nach meinem Variantenwechsel auf jeden Fall nochmal das swImageZoom neu initialiseren…

Jemand ne Idee, wie?

Hmmm, das funktioniert auch nicht… Das kann ja eigentlich nicht so schwer sein, oder?

  	initAll: function() {
    
      StateManager.updatePlugin('.product--image-zoom', 'swImageZoom', 'xl');
          
  	},

 

Hi,

ich mache was ähnliches, dabei nutze ich diesen JS-Code zum Reinitialiseren des Zooms und des Sliders - evtl. hilft dir das ja weiter:

                    StateManager
                        // Image slider
                        .addPlugin('*[data-image-slider="true"]', 'swImageSlider', {touchControls: true})
                        // Image zoom
                        .addPlugin('.product--image-zoom', 'swImageZoom', 'xl');
                    $('*[data-image-gallery="true"]').swImageGallery();

Grüße,
Sven

 

Servus und guten Abend,

hat leider nicht funktioniert, es wird immer noch das blaue Bild gezoomt, wenn man die graue Strumpfhose ausgewählt hat…

Siehe:
https://www.meinestruempfe.de/shopware5/damen/strumpfmode/ringel-strumpfhose.html

Wann genau wird der Code bei dir denn ausgeführt?

In meinem Fall ist es so, dass er als Callback der .load-Funktion dient.

Hi Hec, die Funktion wird nach Ajax Complete aufgerufen, also, wenn die DOM fertig gerendert wurde!

 

Es müsste eigentlich sowas in der Art sein, aber data ist undefined:

 

$('body').data('plugin_swImageGallery').destroy(),
$('*[data-image-gallery="true"]').swImageGallery();

 

Hi nochmal,

wirklich keiner eine Idee?

Hi mal wieder,

ich bin mit der Reinitialisierung der Gallery immer noch nicht weiter gekommen.

Hier mal das Script von meinem Plugin:

https://www.meinestruempfe.de/engine/Shopware/Plugins/Community/Frontend/CbeVariantsDetail/Views/common/frontend/_resources/js/variants_details.js

In der Funktion initAll wollte ich die Gallery neu initialisieren, was mir aber nicht gelingt (deswegen auch auskommentiert).

Auch mit dem Statemanager habe ich das bereits versucht oder funktioniert das nur, wenn ich das Plugin zu einem SW Jquery Plugin umschreibe?

LG und Dankeschön,

Chris

*push* Vielleicht kann ja jemand von Shopware selbst was dazu sagen…

Gerade die letzte von mir gestellte Frage wäre schon sehr aufschlußreich :slight_smile:

LG,

Chris

Jetzt habe ich mir den ganzen Kram nochmals durchgelesen und daraus sollte eigentlich resultieren,
dass das zum gewünschten Erfolg führt:

StateManager.updatePlugin('*[data-image-gallery="true"]', 'swImageGallery', 'xl');

Wie immer, ohne Ergebnis. Mensch, das gibts doch nicht…

So, jetzt habe ich das komplette Plugin nochmal umgeschrieben und siehe da, es funktioniert immer noch nicht!

Selbst wenn ich sämtliche Plugins „remove“ und danach neu über den StateManager „adde“ wird immer noch das
alte Bild angezeigt, wenn ich das Modal öffnen möchte. Siehe:

https://www.meinestruempfe.de/shopware5/damen/strumpfmode/ringel-strumpfhose.html

Dort das graue Farbkästchen auswählen und dann mal versuchen, den Zoom zu Öffnen.

Irgendwas scheint da in ner Queue zu stecken etc… Ich bin mit meinem Latein am Ende und leider meldet sich
hier auch niemand von Shopware zu Wort…

Hier das angepasste Script:
https://www.meinestruempfe.de/shopware5/engine/Shopware/Plugins/Community/Frontend/CbeVariantsDetail/Views/common/frontend/_resources/js/variants_details.js

Es wäre wirklich toll, wenn jemand meinen Monolog hier beenden könnte!

LG,

Chris

So, nach langem hin und her habe ich es jetzt doch hinbekommen. Man muss einfach komplett das HTML in jQuery lösen, danach sind sämtliche Reinitialisierungen möglich. Danke fürs Lesen :slight_smile:

1 „Gefällt mir“