Hallo zusammen,
ich arbeite derzeit an einem Plugin, das zu jedem Artikel auf alle Kategorien mit ausgibt, in denen dieser enthalten ist. Für die Detailansicht und die normalen Artikellisten (Kategorien) klappt das auch ganz wunderbar, nur im Topseller-Slider funktioniert es nicht. Hier sieht es so aus, daß offenbar das Plugin gar nicht ausgeführt wird bei der Erstellung des Topseller-Sliders bzw. die zugewiesenen Werte das fragliche Template nicht erreichen.
Im Plugin selbst wird das Event _ Enlight_Controller_Action_PostDispatchSecure_Frontend _ abgegriffen, muß hier für die Topseller ggf. ein anderes Event herangezogen werden?
Problem gelöst, das Event spricht das falsche Modul an.
Der Topseller-Slider gehört zum Modul Widgets , nicht Frontend.
Um hier eine Veränderung vorzunehmen, muß also das Event Enlight_Controller_Action_PostDispatchSecure_Widgets abgegriffen werden, oder im allgemeinen Fall _ Enlight_Controller_Action_PostDispatchSecure _, wenn die Ereignisbehandlung modulübergreifend tätig wird.
Mit dem selben Plugin habe ich nun eine weitere Schwierigkeit. Ich kann mich zwar über die Events wunderbar in das System einklinken und z.B. auch die beim Seitenaufruf übergebenen Parameter abrufen, habe aber andererseits das Problem, daß ich bei den Listings - und insbesondere bei den Slidern - keinerlei Zugriff darauf habe, welche Artikel genau Shopware nun aus der Datenbank ausgelesen hat und zur Ausgabe bereitstellt. Das müsste ich aber zwingend wissen, um für diese Artikel gezielt die zugehörigen Kategorienamen zu ermitteln. So muß ich also entweder für alle Artikel der betrachteten Kategorie (immerhin diese Information liegt bei Kategorielistings ja als Parameter vor) oder sogar für alle Artikel pro forma die Kategorienamen bereitstellen, um diese dann im Template zuzuordnen - was sehr unhandlich und Ressourcenintensiv, also nicht wirklich praktikabel ist. Auch eine Abfrage über eine Ajax-Funktion wäre bestenfalls ein Workaround.
Das führt mich also zu dieser Frage:
Wie kann ich innerhalb meiner Callback-Funktion auf die Liste derjenigen Artikel zugreifen (wenigstens: auslesen), die Shopware für einen Slider oder ein Listing aus der Datenbank gezogen hat?