lade. Allerdings verliere ich jedesmal das Binding auf mein Element, wen ich auf der Detailseite eine andere Größe meines Artikels aussuche. Was mach ich falsch? Wie binde ich mein JS-Datei richtig an?
lade. Allerdings verliere ich jedesmal das Binding auf mein Element, wen ich auf der Detailseite eine andere Größe meines Artikels aussuche. Was mach ich falsch? Wie binde ich mein JS-Datei richtig an?
Hallo,
ich würde dir empfehlen, JavaScript - Dateien nicht direkt in Template - Dateien einzubinden, da dies über die Zeit deinen Shop verlangsamen wird, da die Datei ja nicht minifiziert wird. Am besten bindest du Sie einfach in dein Theme ein, dann wird sich auch mit minifiziert: Shopware 5 Theme Startup Guide .
Zum Thema deines JavaScript - Codes: der Variantenwechsel findet über Ajax statt, du müsstest also deinen Code noch einmal initalisieren, wenn das Ajax - Event geladen wird.
Zum Thema deines JavaScript - Codes: der Variantenwechsel findet über Ajax statt, du müsstest also deinen Code noch einmal initalisieren, wenn das Ajax - Event geladen wird.
Kann mir jemand sagen, wie ich etwas an dieses Ajax-Event binde? Sprich: Ich möchte eine js-Funktion aufrufen, nachdem eine andere Variante ausgewählt und geladen wurde.
Welches Event das richtige ist findet man am einfachsten heraus indem man die jQuery Plugins im Responsive Theme danach durchsucht. In diesem Fall brauchst du das aus meinem Code-Snippet hier.
So sieht die Zeile bei mir aus… wo genau muss ich meine Funktion anhängen? Einfach zwischen Komma und eckiger Klammer?
Hallo,
du solltest dich glaube ich erst einmal mit der Materie auseinandersetzen, bevor du irgendetwas kaputt machst: jQuery plugins and the StateManager .
Mit $.publish würdest du ja das Event komplett neu setzen bzw. überschreiben. Du dagegen willst ja aber nur eine Aktion danach ausführen. Somit musst du, wie es bereits hier erwähnt wurde, folgendes dazu nutzen:
$.subscribe('plugin/swAjaxVariant/onRequestData', function () {
//do something
})