Fehler seit 5.3.4 -> Uncaught Error: Call to a member function renderEsiTag()

Moin zusammen,

ich habe seit neuestem folgenden Fehler im Errorlog:

 

[27-Oct-2017 09:15:39 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to a member function renderEsiTag() on null in /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php:362
Stack trace:
#0 /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php(174): content_59f2dd18d4abb9_87883300(Object(Enlight_Template_Default))
#1 /html/shopware/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_59f2dd18ec8879_25188797(Object(Enlight_Template_Default))
#2 /html/shopware/engine/Library/Smarty/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(Object(Enlight_Template_Default), NULL, NULL, NULL, false, false, true)
#3 /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/a0/99/b7/a099b786141a7c0cc59c7b60239b63201a274381.snippet.lis in /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php on line 362

 

Was kann das denn sein? Wenn ich den Cache leere, ists dann wieder ne Weile weg… Sehr strange das Ganze!

Hast du ein ActionWidget in der ProductBox? Du solltest mal deine box_minimal.tpl überprüfen.
Im Normalfall gibt es da keinen ESI-Tag.

Ja, ich habe da ein Action-Widget, aber das dürfte ja an sich kein Problem darstellen, oder?

Und woher kommt denn der Fehler genau?

Das Widget macht nur das hier:

 

Request()->getParam('articleId', null);
        
        $config = Shopware()->Plugins()->Frontend()->CbeCategoriesInfo()->Config();

        $select = "
        SELECT c.description, c.id
        FROM s_articles_categories ac, s_categories c
        WHERE ac.articleID = ? AND ac.categoryID = c.id
        GROUP BY c.id
        ORDER BY c.description
        ";
        
        $categories = Shopware()->Db()->fetchAll($select, array($articleId));
        
        $this->View()->assign('CategoriesInfoListed', $categories);
        $this->View()->assign('CategoriesInfoCompare', $config->compareCategory);       

    }
}

Und das Widget befindet sich in product-badges.tpl mit folgendem Code:

{action module=widgets controller=CbeCategoriesInfo action=getCategoryinfo articleId=$sArticle.articleID}

Nach dem Neukompilieren ist der Fehler wieder für ne Weile weg und kommt dann wieder! Sehr eigenartige Sache das…

Hi mal wieder,

jetzt isser wieder nach mehreren Tagen da:

 

Stack trace:
#0 /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php(117): content_5a1693610d3bc4_20576168(Object(Enlight_Template_Default))
#1 /html/shopware/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_5a1693611e0aa4_21874157(Object(Enlight_Template_Default))
#2 /html/shopware/engine/Library/Smarty/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(Object(Enlight_Template_Default), NULL, NULL, NULL, false, false, true)
#3 /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/a0/99/b7/a099b786141a7c0cc59c7b60239b63201a274381.snippet.lis in /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php on line 294
[23-Nov-2017 10:22:55 Europe/Berlin] PHP Fatal error: Uncaught Error: Call to a member function renderEsiTag() on null in /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php:294
Stack trace:
#0 /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php(117): content_5a1693610d3bc4_20576168(Object(Enlight_Template_Default))
#1 /html/shopware/engine/Library/Smarty/sysplugins/smarty_internal_templatebase.php(180): content_5a1693611e0aa4_21874157(Object(Enlight_Template_Default))
#2 /html/shopware/engine/Library/Smarty/sysplugins/smarty_internal_template.php(286): Smarty_Internal_TemplateBase->fetch(Object(Enlight_Template_Default), NULL, NULL, NULL, false, false, true)
#3 /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/a0/99/b7/a099b786141a7c0cc59c7b60239b63201a274381.snippet.lis in /html/shopware/var/cache/production_201710241020/templates/frontend_Meinestruempfe_de_DE_1_secure/4e/be/96/4ebe9627ca1a33d7194ba3405499a699228a5b83.snippet.box-minimal.tpl.php on line 294

Sobald ich das Template dann neu kompiliere, isses wieder für Tage weg… Was kann ich hier tun?

Hi nochmal,

jetzt habe ich mal das entsprechende, kompilierte Template überprüft und ich sehe hier leider auch keinen entsprechenden Fehler, der auf NULL zurückführen könnte…

Siehe:

 

 smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['action'][0][0]->renderEsiTag(array('module'=>'widgets','controller'=>'CbeCategoriesInfo','action'=>'getCategoryinfo','articleId'=>$_smarty_tpl->tpl_vars['sArticle']->value['articleID']),$_smarty_tpl);?>

Hat hier keiner eine Idee? Gerne auch gegen Bezahlung. Das Problem ist, dass das dann sporadisch auftaucht und es mir das Listing der Artikel zerschießt und die Kunden somit keine weiteren Artikel sehen können.

Vielen Dank und viele Grüße,

Chris

Moin @coarsy‍,

du könntest ja in der Cache-Datei mal schauen, was die Ausgabe von dem folgenden Code ergibt.
 

$_smarty_tpl->smarty->registered_plugins

sowie von  Smarty::PLUGIN_FUNCTION.

Dann müsstest du ja sehen können, ob da etwas falsch ist.

Gruß,
Patrick  Shopware

Moin Patrick,

genau, die Ausgabe habe ich oben bereits mit reingeposted und ich kann hier beim besten Willen keinen Fehler erkennen. Irgendwie scheint das alles mit dem Securitymode von Smarty zu tun zu haben…

Nervig…

Irgendwie scheint das Ganze ja mit dem Cache zu tun haben, da es nach dem Leeren wieder ne ganze Weile funktioniert. Wurde da bei der 5.3.4 irgendwas in der Richtung angepasst?

@coarsy‍ konntest du für dieses Problem mitterlweile eine Lösung finden?