[GELÖST ]Plugin nur laden, wenn es ein Variantenartikel ist

Hi zusammen,

ich habe schon seit langem ein eigenes Plugin im Einsatz, welches plötzlich aber der 5.4 nicht mehr richtig funktioniert.

Es kommt dann der berühmte „Mein Freund der S“ Fehler…

Ich frage aktuell im Plugin folgendermaßen ab:

 public function onPostDispatchDetail(Enlight_Event_EventArgs $arguments)
    {
              
        /**@var $controller Shopware_Controllers_Frontend_Detail*/
        $controller = $arguments->getSubject();
        $view = $controller->View();
        
        $config = Shopware()->Plugins()->Frontend()->CbeVariantsDetail()->Config();

        $sArticle = $view->getAssign('sArticle');

        // If article has no variants, return
        if (!isset($sArticle['sConfiguratorSettings'])) {
            return;
        }               

Aber dennoch scheinen die Templates geladen zu werden, was den Fehler verursacht. Hat jemand eine Idee, wie man das ordentlich löst? Es handelt sich noch um das alte Pluginsystem.

Vielen Dank und liebe Grüße,

Chris

Das ist natürlich noch die konkrete Fehlermeldung:

 

 Fatal error: Uncaught SmartyCompilerException: Syntax Error in template "/html/shopware/shopwaretest/themes/Frontend/Bare/frontend/index/index.tpl" on line 7 "<html class="no-js" lang="{s name='IndexXmlLang'}{/s}" itemscope="itemscope" itemtype="http://schema.org/WebPage">" unknown tag "s" in /html/shopware/shopwaretest/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php:657 Stack trace: #0 /html/shopware/shopwaretest/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php(443): Smarty_Internal_TemplateCompilerBase->trigger_template_error('unknown tag "s"', 7) #1 /html/shopware/shopwaretest/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(2388): Smarty_Internal_TemplateCompilerBase->compileTag('s', Array) #2 /html/shopware/shopwaretest/engine/Library/Smarty/sysplugins/smarty_internal_templateparser.php(3101): Smarty_Internal_Templateparser->yy_r36() in /html/shopware/shopwaretest/engine/Library/Smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 657

 

So, die konkrete Fehlermeldung lautet nun:

 

Fatal error: Uncaught SmartyException: directory '/html/shopware/shopwaretest/engine/Shopware/Plugins/Community/Frontend/CbeVariantsDetail/Resources/Views/frontend/detail/index.tpl' not allowed by security setting

Ist also mein eigenes Plugin! Laut Updateguide ist das aber auch ein erlaubtes Verzeichnis, siehe meine Implementierung:

 

        $controller->View()->addTemplateDir( __DIR__. '/Resources/Views/');
        $controller->View()->loadTemplate('frontend/index/index.tpl');
        $controller->View()->loadTemplate('frontend/detail/index.tpl');   

 

Hat sich erledigt, ich muss das Verzeichnis vor dem RETURN bei Nichtvarianten freigeben!