ich habe ein Plugin welches die ArticleSliderEmotion Artikel über den „Shopware_Controllers_Widgets_Emotion_AddElement“ modifiziert, welches unter Shopware 5.2 einwandfrei läuft, unter Shopware 5.3 jedoch nicht mehr.
Auf folgender Seite steht geschrieben
Hint : Existing plugins using the old method below will still work in Shopware 5.3.
Dies kann ich leider nur halb bestätigen, da dieser Event Filter lediglich im EventComponentHandler registriert wird und nicht in den restlichen, nachfolgend aufgeführten, ComponentHandlern.
ArticleComponentHandler
ArticleSliderComponentHandler
BannerComponentHandler
BannerSliderComponentHandler
BlogComponentHandler
CategoryTeaserComponentHandler
Html5VideoComponentHandler
ManufacturerSliderComponentHandler
Das heißt über diesen in Shopware 5.2 noch funktionierenden Weg, geht es für diese EmotionComponents in Shopware 5.3 nicht mehr.
Nun die Frage, wie wäre das ideale Vorgehen um diesen EmotionComponentHandler zu beeinflußen? Kann ich den ArticleSliderComponentHandler über mein Plugin einfach überschreiben? (ohne Core Hack versteht sich) Wird dieser EventFilter für die anderen ComponentHandler noch nachgezogen @shopware?
Beste Grüße
#edit Das Tags Input Feld in diesem Forum funktioniert auch nicht, und ein Klick auf „Zeige populäre Tags“ macht einen redirect auf diese Seite und löscht dabei den eingegeben Text.
konntest du dein Einkaufsweltenelement mit SW 5.3 lauffähig bekommen?
WIr sind gerade dabei einen Shop von 5.2.25 auf 5.4.5 zu aktualisieren und da funktionieren unsere Einkaufsweltenelemente nicht mehr, da wohl das Event „Shopware_Controllers_Widgets_Emotion_AddElement“ nicht mehr ausgelöst wird. Die Elemente sind noch als Legacy-Plugin entwickelt und wir möchten die Neuprogrammierung zum neuen Plugin-System nach Möglichkeit umgehen, da wir ja dann das alte Plugin löschen, und das neue Plugin dann neu installieren müssten was dann sicher Datenverlust nach sich ziehen würde.
Oder hat jemand einen Tipp, wie wir hier am besten vorgehen?
Danke für die schnelle Antwort. Welchen Service müsste ich denn da dekorieren und wie genau?
Wir haben in unserem Fall ja individuell entwickelte Einkaufsweltenelemente. Eigentlich müsste ich ja lediglich für jedes Element einen eigenen ComponentHandler bereitstellen und diesen im DI-Container registrieren. Allerdings sind das noch Lecacy-Plugins und da gibt es noch keine service.xml. Stellt sich also momentan die Frage, wie ich den ComponentHandler mit dem Tag “shopware_emotion.component_handler” mit PHP im Di-Container registrieren kann.
Das heißt, es muss eigentlich weiterhin über dieses Event funktionieren. Ich denke aber, dass du es evtl. zu spät registrierst (bzw. dein Subscriber zu spät bei Shopware angemeldet wird). Wenn du es in der install-Methode mir registerEvent machst, sollte es auf alle Fälle weiterhin funktionieren.
Danke für deine Hilfe, davon bin ich bislang auch ausgegangen. Allerdings wird die Methode EventComponentHandler::handle() überhaupt nicht ausgeführt Das Event ist in der install-Methode registriert.
Stellt sich also momentan die Frage, wie ich den ComponentHandler mit dem Tag „shopware_emotion.component_handler“ mit PHP im Di-Container registrieren kann.
Ich stehe gerade vor dem selben Problem - hast Du das irgendwie lösen können?
public function registerEmotionComponentHandler(\Enlight_Event_EventArgs $args)
{
$result = new ArrayCollection();
$result->add(new EmotionComponentHandler());