Hallo Zusammen, ich habe mal eine Frage bezüglich zum einbinden von Templatedatein über ein Plugin. public function install() { $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend', 'onPostDispatchFrontend' ); return true; }
Ich habe mich auf dem entsprechenden Event registriert. Jetzt möchte ich zum Beispiel die Views einbinden: public function onPostDispatchFrontend( Enlight\_Event\_EventArgs $arguments ) { /\*\*@var $controller Shopware\_Controllers\_Frontend\_Index\*/ $controller = $arguments-\>getSubject(); $request = $controller-\>Request(); $response = $controller-\>Response(); /\*\* \* @var $view Enlight\_View\_Default \*/ $view = $controller-\>View(); //Check if there is a template and if an exception has occured if(!$request-\>isDispatched()||$response-\>isException()||!$view-\>hasTemplate()) { return; } [b] //Add our plugin template directory $view-\>addTemplateDir($this-\>Path() . 'Views/'); $view-\>extendsTemplate('frontend/plugins/swag\_variants\_tabs/index.tpl'); $view-\>extendsTemplate('frontend/index/variants\_tab\_header.tpl');[/b]
Muss ich jetzt wirklich jede Datei die ich einbinden möchtet einzeln aufrufen? Kann ich evt. alle Dateien die in einem Ordner liegen laden? zum Beispiel zum laden aller Dateien im index folder: $view-\>extendsTemplate('frontend/index/..');
So geht es natürlich nicht aber ich denke das verdeutlicht was mein Ziel ist. Über Hilfe bin ich euch sehr dankbar!
Hat wirklich keiner eine Idee? Ich denke das man je nachdem was man macht sich schon an ein paar Events hängen muss aber es muss doch möglich sein das z.B. beim Enlight_Controller_Action_PostDispatch_Frontend_Detail alle Dateien im Ordner Detail/ geladen werden können…
Eine Idee wäre vll den Pfad auszulesen und mit einer Schleife dann die extends einzufügen?