Hallo,
seitdem SwagEmotionAdvanced nicht mehr das Event Enlight_Controller_Action_PostDispatchSecure_Widgets_Emotion verwendet, kann ich es nicht mehr überschreiben. Mittlerweile nutzt Shopware hier das Event Theme_Inheritance_Template_Directories_Collected , welches ich nicht mit meinem Plugin überschreiben kann.
Ich habe ein Plugin, welches mit dem Event Theme_Inheritance_Template_Directories_Collected und der passenden Funktion onTemplateDirectoriesCollect eine Template-Datei aus dem Plugin SwagEmotionAdvanced überschreiben soll. Im Plugin SwagEmotionAdvanced werden die Verzeichnisse mit dem selben Event registriert. Durch die Position 10 in meinem Event möchte ich sicher stellen, dass meine Template-Dateien nach denen des SwagEmotionAdvanced registriert werden und ich somit zum beispiel die Datei parent:widgets/emotion/components/component_banner.tpl extenden kann. Geht aber nicht.
$this->subscribeEvent(
'Theme_Inheritance_Template_Directories_Collected',
'onTemplateDirectoriesCollect',
10
);
public function onTemplateDirectoriesCollect(\Enlight_Event_EventArgs $args)
{
$dirs = $args->getReturn();
$dirs[] = __DIR__. '/Views';
$args->setReturn($dirs);
}
Gebe ich {$smarty.block.parent} in die tpl-Datei vom SwagEmotionAdvanced, welche ich überschreiben will, greift dieses auf meine tpl-Dateien zu. Hier ist also klar die Reihenfolge nicht korrekt.