5.1 Ajax Varianten Beschreibung aktualisieren

Hallo Leute, Wir testen zurzeit Shopware 5.1 RC 3. Aktuell habe ich folgendes Problem: Wir zeigen zu jedem Artikel eine Maßtabelle an, diese ändert sich je nach Auswahl der Größe. Wenn man die Ajax Varianten (eingeführt in Shopware 5.1) verwendet, wird die Maßtabelle nicht mehr neu geladen. Ich möchte die Ajax Varianten schon sehr gern verwenden, das ist viel schöner. Weiß jemand, wie ich per Javascript mich in diese Nachladefunktion einklinken kann? Oder gibt es andere Wege? Welche Bereiche werden über Ajax neu geladen? Ist dies vielleicht einfach nur ein Bug da das ganze noch RC ist? Vielen Dank für die Hilfe!

Von welcher “Maßtabelle” sprichst du denn? Viele Grüße

Hallo @huberhemden, natürlich ist es möglich sich in das Plugin reinzuhängen. Hierzu haben wir das Event „plugin/swAjaxVariant/onRequestData“ eingebaut und in unseren Shopware 5 Upgrade Guide dokumentiert: https://developers.shopware.com/develop … x-variants Technisch gesehen funktionieren die AJAX-Varianten wie folgt: Es wird das Variant-Formular innerhalb der Buybox ausgelesen, per $.serialize() erstellen wir aus den Feldern einen String, welches wir dann POST-Body beim AJAX Request auf die Detailseite mitsenden. Es wird von unserer Seite nur die „div“-Box „.product–detail-upper“ ersetzt und die nötigen Javascript-Plugins neu initialisiert. Hier die Source-Datei: https://github.com/shopware/shopware/bl … variant.js Viele Grüße, Stephan Pohl :shopware:

1 „Gefällt mir“

Lieber Stephan, danke für deine Antwort. Damit sollte ich das Problem gelöst kriegen. Ich bin mir ziemlich sicher, dass die RC relase notes in Deutsch einen anderen Inhalt haben. Ich habe den Upgrade Guide gelesen und da war dies nicht so ausführlich drin. (http://community.shopware.com/Update-Gu … _Varianten) Schade eigentlich! Aber in Zukunft werde ich mich wohl auf die Englishe Version fokusieren. @Aquatuning Gmbh: Die Maßtabelle ist von uns selbst erstellt.

Hallo huberhemden, das sind ja komplett zwei unterschiedliche Artikel und Zielgruppen. Also der von dir genannten Artikel befindet sich in der allgemeinen Dokumentation Das von Stephan genannte Dokument ist aus den Developer Docs. Das richtet sich speziell an Entwickler und hat daher einen deutlich tieferen und technischeren Background. Dort sind dann auch Beispiele und Snippets für die Programmierung oder auch Anpassungen von eigenen Entwicklungen, Plugins etc. Sebastian

[quote=„huberhemden“]@Aquatuning Gmbh: Die Maßtabelle ist von uns selbst erstellt.[/quote] Dann wirst du nicht drum herum kommen - wie von Sebastian und Stephan angesprochen - dir ein individuellen Plugin zu schreiben / schreiben zu lassen. Viele Grüße

Hallo Shopware Team. Bitte fügt in jquery.ajax-variant.js zusätzlich ein hook nach ajax request vor aktualisierung des doms. Also unmittelbar vor $(me.opts.productDetailsSelector).html($productDetails.html()); Idealerweise hätte man zugang zu $productDetails; zwischen onBeforeRequestData und onRequestData vergeht schon merklich viel zeit…

Gibt es bereits eine “schnelle” Lösung, mit der selbst hinzugefügte TABs beim Variantienwechsel aktualisiert werden?

​
public function runDetailPostDispatch(\Enlight_Event_EventArgs $args){


//artikel id holen
 $artId = $request->sArticle;

//inhalt wieder neu auslesen
 $query = "SELECT tab1 FROM s_articles_attributes WHERE id=".$artId."";
 $tabwechsel1 = Shopware()->Db()->fetchOne($query);

//ergebnis an smarty zum zurück laden ueberreichen
 $view->assign('tab1',$tabwechsel1);

}

So funktioniert es bei mir. Gibt vielleicht noch eine bessere Lösung, um nur einen Bereich asynchron zu laden.

LG gwen