Product Badges Template nicht aktiv bei nachgeladenen Boxen

Hallo! Und zwar habe ich eine Erweiterung, die über Service Decorator das Listing erweitert. Genauer gesagt setze ich im Service extra Attribute, um diese dann in den Badges auszugeben. Das klappt alles, bis auf Artikel, die nachgeladen werden. Jetzt konnte ich das soweit nachvollziehen und debuggen, dass alle Informationen auch bei den nachgeladenen (infitiy scroll) Artikelboxen bestehen, das angepasste Template aber nicht verwendet wird! Ich schließe mich über {extends file=„parent:frontend/listing/product-box/product-badges.tpl“} auf. Die Änderungen des Templates sind bei allen Artikelboxen aktiv, die zu erst im Listing geladen werden. Alle nachgeladenen Boxen haben nicht das angepasste Template. Ich verwende {block name=„frontend_listing_box_article_new“ append} um weitere Badges aufzusetzen. Ich halte mich da an ein Beispiel von https://developers.shopware.com/develop … xtensions/ deswegen die Frage, ob da ein Fehler besteht, oder wer eine Idee hat, woran das liegen kann :slight_smile: System ist 5.1 RC2. Ich kann das übrigens auch unabhängig vom Service nachspielen, indem ich im Badge Template z.B. den Tipp Badge entferne über {block name=‚frontend_listing_box_article_hint‘}{/block} - in den ersten „Seiten“ ist der entfernt, ab Seite 3/4 der nachgeladenen wird dieser nicht mehr entfernt, als ob das geerbete Template einfach nicht mehr zieht. Ich freue mich über Feedback! Schöne Grüße, Niklas

Hallo Niklas, das klingt mir sehr nach diesem Problem. Viele Grüße

Hi! Danke für die Antwort, Idee war gut, ändert bei mir nur leider nichts … Ich schließe mich beim Listing über Enlight_Controller_Action_PostDispatch_Frontend_Listing auf - die Änderung auf das Secure ändert bei mir unter 5.1 leider nichts. Habe auch nur im Secure Dispatch das Ganze ausprobiert mit Abfrage auf das Frontend und den Controller - ebenfalls ohne Erfolg … Ich probier mal weiter, aber scheint, dass die Events von Shopware da nicht schlüssig sind? … Schöne Grüße, Niklas

Hallo Niklas, na dann ist das Problem klar :wink: : Wenn du mal in den Frontend/Listing Controller schaust wird dir auffallen, dass es dort gar keine Action für das Ajax-Lisiting gibt. Diese versteckt sich nämlich im Widget/Listing Controller. Wenn du jetzt das „Enlight_Controller_Action_PostDispatch_Frontend_Listing“ Event nutzt oder im PostDispatchSecure abfrägst, ob es sich ums das Frontend Modul hält, wird dein Code natürlich nicht gefeuert. Ich hoffe das hilft. Viele Grüße

1 Like

Arrrrg … natürlich, sorry - das habe ich eiskalt übersehen :quite: Du bist der Beste - Danke dir! :thumbup: Für die anderen nochmal runtergebrochen: Nutzt Enlight_Controller_Action_PostDispatchSecure um auch das Ajax Listing mitnehmen zu können. Ein weiterer Hinweis: Der Controller des Ajax Listings ist nicht “listing” sondern “Listing” - vielleicht auch erwähnenswert. Schöne Grüße, Niklas