Infinite Scrolling: directory not allowed by security setting

Manchmal gibt es so Tage, da bin ich total kaputt im Kopf. So auch in diesem Fall wo ich einfach nicht Ursache finde.

Es geht um ein Plugin, welches unter anderem auch das Template _ Resources/views/frontend/listing/product-box/box-basic.tpl _ enthält. Dieses Template enthält nur die Zeile:

{extends file="parent:frontend/listing/product-box/box-basic.tpl"}

Speziell beim Infinite Scrolling im Listing, kommt dann der Fehler _ directory ‚/…/box-basic.tpl‘ not allowed by security setting _

 

1. Versuch

Event Enlight_Controller_Action_PostDispatchSecure_Frontend

public function addTemplates(\Enlight_Event_EventArgs $arguments) {
 $controller = $arguments->getSubject();
 $view = $controller->View();
 $view->addTemplateDir( __DIR__. '/Resources/views/' );
}

Das Template und der Rest wird geladen, erzeugt aber den oben erwähnten Fehler.

 

2. Versuch (Vorschlag aus Forum)

Event Theme_Inheritance_Template_Directories_Collected 

public function addTemplates(\Enlight_Event_EventArgs $arguments) {
 $dirs = $arguments->getReturn();
 $dirs[] = $this->pluginDir . '/Resources/views/';
 $arguments->setReturn($dirs);
}

Template wird gar nicht geladen :frowning:

 

3. Versuch (Vorschlag aus Forum)

Event Enlight_Controller_Action_PreDispatch_Widgets_Listing 

public function addTemplates(\Enlight_Event_EventArgs $arguments) {
 $controller = $arguments->getSubject();
 $view = $controller->View();
 $view->addTemplateDir( __DIR__. '/Resources/views/' );
}

Auch hier wird das Template gar nicht geladen.

 

Wie bekomme ich dieses nervige „directory not allowed by security setting“ weg?

 

Eine Nacht darüber geschlafen, der Kopf ist wieder klar und die Lösung gefunden:

'Enlight_Controller_Action_PreDispatch' => 'onAddTemplate'

public function onAddTemplate(\Enlight_Event_EventArgs $arguments) {
 $controller = $arguments->getSubject();
 $view = $controller->View();
 $view->addTemplateDir( __DIR__. '/Resources/views/' );
}

Fehler lag schlicht und einfach an der Verwechselung PreDispatch/PostDispatch :frowning: