Datepicker ist nur initial korrekt

Ich verwende einen Datepicker im Template, weil einige Artikel mit einem Wunschdatum versehen werden. Diese Artikel sind aber auch Varientenartikel. Nun passiert es, dass der Datepicker (flatpickr) initial korrekt dargestellt wird und korrekt funktioniert - wenn aber eine Variante gewählt wird, wird ja der Aufbau der Seite nochmal angestoßen - und danach ist der Datepicker nur noch ein simples input-Feld.

Ich vermute, dass man das gleiche Feld nicht wiederholt an Datepicker übergeben darf, habe aberr keine Ahnung, wie ich das verhindern könnte.

Kennt jemand die Problematik?

Kann man gerne hier testen: https://www.junior-partyshop.ch/dev/dev8/detail/index/sArticle/8059/number/SW12270

Beim ersten Aufruf ist das Datumsfeld korrekt, nach Variantenwahl ist das Feld “kaputt”… 

Vielen Dank für eventuelle Hinweise.

 

 

Der Datepicker ist eine Javascript-Funktion und nach dem Laden einer Variante ist die “Verknüpfung” HTML Javascript nicht mehr vorhanden. 

Hast Du darauf geachtet, die Flatpickr-Funktion neu zu nitialisieren?

1 „Gefällt mir“

Danke für die Antwort. Das macht eigentlich Shopware - und da die Initialisierung über data läuft, habe ich hier auch keinen Einfluss (meines Wissens, das sehr eingeschränkt ist…)

Den Einbau des Datepickers habe ich hier gefunden: Datepicker

Initialisierung sehe ich dort nirgends.

Shopware erwartet keinen datedicker auf der Artikeldetailseite. Daher musst du das Plugin nach dem Laden der Variante selber neu initialisieren.

Viele Grüße
https://www.digitvision.de

1 „Gefällt mir“

Du hast aber das Shopwaretemplate verändert und in dem Bereich, der durch das Nachladen der Variante verändert wird, geht die Verknüpfung über das data-attribute verloren. Das musst Du dann schon selber wieder neu aufbauen. 

Gib das in der Console der Developer-Tools der Browser nach einem Variantenwechsel ein und dein Datepicker funtkioniert wieder. 

$(’.hug_cake_date_input’).swDatePicker()

 

Subscribe auf dieses Event im JS  deines Templates und für obigen Code aus. Das sollte funktionieren

plugin/swAjaxVariant/onRequestData

1 „Gefällt mir“

Herzlichen Dank. Klappt.