Artikel Detail: Tab Navigation ohne Funktion nach Variantenwahl

Moin,

ich habe übers Template zwei neue Tabs bei der Beschreibung eingefügt. Wenn ich nun eine Variante wähle funktioniert die Navigation nicht mehr.
Ich kenne auch schon den Grund: Die Inhalte werden komplett per Ajax neu geladen. Dadurch greift der Javascript Eventlistener nicht mehr. 

Nun ist meine Frage wie ich die Javascript Events neu initialisieren kann, oder wie ich die Tabs anlegen kann, damit das Ganze mit Varianten funktioniert.

Weitere Beobachtung: Wenn ich Bewertungen aktiviere, funktioniert dieser Tab nach einer Auswahl - aber nur so halb:
Meine Navigation in dem Bereich: Beschreibung - Inhaltsstoffe - Fütterungsempfehlung - Bewertungen
Wenn ich eine Variante wähle, zeigt der Tab Inhaltsstoffe die Bewertung an und die hinteren beiden Tabs funktionieren nicht mehr.

 

Ich kenne auch schon den Grund: Die Inhalte werden komplett per Ajax neu geladen. Dadurch greift der Javascript Eventlistener nicht mehr. 

Das sollte nicht passieren. Dann würde das normale Bewertungstab auch nicht mehr funktionieren. Wieso glaubst du, dass dies der Grund ist?

Was ich eher vermute: Shopware ersetzt den Inhalt des Beschreibungstabs. Dieses wird anhand des Selektors .content–description bestimmt. Nutzt du diese Klasse zufällig auch in deinen Tabs? Wenn ja, wird dort ebenfalls die Produktbeschreibung einfügt. Daher sieht es so aus, als würden deine Tabs nicht mehr funktionieren. In Wirklichkeit wurde aber einfach nur der Inhalt durch die Produktbeschreibung ersetzt.

Viele Grüße

1 „Gefällt mir“

Guter Hinweis! Die Klasse hatte ich verwendet, da sie auch CSS Angaben enthält. Dann muss ich das Ganze einmal mit einer eigenen Klasse bauen.

Es wird also nicht der gesamte content neu gerendert, sondern nur die Inhalte? 

 

Vielen Dank schonmal!

Guter Hinweis! 

Ich hatte das Gleiche erst vor ein paar Tagen xD 

Es wird also nicht der gesamte content neu gerendert, sondern nur die Inhalte? 

Der obere Bereich (.product–detail-upper) wird - genau wie die Beschreibung - komplett ersetzt. Solltest du dort - oder in der Beschreibung - ein Javascript Plugin einsetzen, kannst du folgendes Event benutzen um es nach einem Ajax-Reload wieder zu aktivieren: https://github.com/shopware/shopware/blob/5.4/themes/Frontend/Responsive/frontend/\_public/src/js/jquery.ajax-variant.js#L151

Viele Grüße