Frage

Seit heute Abend sehen wir diesen Fehler.

Zuerst sehen wir dies im Fehlerprotokoll

2013-08-11T18:46:59+00:00 ERR (3): Warning: include(): Filename cannot be empty  in app/code/core/Mage/Core/Block/Template.php on line 241
2013-08-11T18:46:59+00:00 ERR (3): Warning: include(): Filename cannot be empty  in app/code/core/Mage/Core/Block/Template.php on line 241
2013-08-11T18:46:59+00:00 ERR (3): Warning: include(): Failed opening '' for inclusion (include_path='lib/minify:app/code/local:app/code/community:app/code/core:lib:.')  in app/code/core/Mage/Core/Block/Template.php on line 241

Und mit vollem Ausnahmedruck sehen wir Folgendes.

Ich habe versucht, Benachrichtigungen zu deaktivieren, weiß aber nicht, wo ich anfangen soll (und wie dies plötzlich auftritt)

Warning: include(): Filename cannot be empty  in app/code/core/Mage/Core/Block/Template.php on line 241

#0 app/code/core/Mage/Core/Block/Template.php(241): mageCoreErrorHandler(2, 'include(): Filename cannot be empty', 'app/code/core/Mage/Core/Block/Template.php', 241, Array)
#1 app/code/core/Mage/Core/Block/Template.php(241): Mage_Core_Block_Template->fetchView()
#2 app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('adminhtml/base/default/template/system/cache/notifications.phtml')
#3 app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#4 app/code/core/Mage/Adminhtml/Block/Template.php(81): Mage_Core_Block_Template->_toHtml()
#5 app/code/core/Mage/Adminhtml/Block/Cache/Notifications.php(62): Mage_Adminhtml_Block_Template->_toHtml()
#6 app/code/core/Mage/Core/Block/Abstract.php(863): Mage_Adminhtml_Block_Cache_Notifications->_toHtml()
#7 app/code/core/Mage/Core/Block/Text/List.php(43): Mage_Core_Block_Abstract->toHtml()
#8 app/code/core/Mage/Core/Block/Abstract.php(863): Mage_Core_Block_Text_List->_toHtml()
#9 app/code/core/Mage/Core/Block/Abstract.php(582): Mage_Core_Block_Abstract->toHtml()
#10 app/code/core/Mage/Core/Block/Abstract.php(526): Mage_Core_Block_Abstract->_getChildHtml('notifications', true)
#11 app/design/adminhtml/default/default/template/page.phtml(55): Mage_Core_Block_Abstract->getChildHtml('notifications')
#12 app/code/core/Mage/Core/Block/Template.php(241): include('app/design/adminhtml/default/default/template/page.phtml')
#13 app/code/core/Mage/Core/Block/Template.php(272): Mage_Core_Block_Template->fetchView('adminhtml/default/default/template/page.phtml')
#14 app/code/core/Mage/Core/Block/Template.php(286): Mage_Core_Block_Template->renderView()
#15 app/code/core/Mage/Adminhtml/Block/Template.php(81): Mage_Core_Block_Template->_toHtml()
#16 app/code/core/Mage/Core/Block/Abstract.php(863): Mage_Adminhtml_Block_Template->_toHtml()
#17 app/code/core/Mage/Core/Model/Layout.php(555): Mage_Core_Block_Abstract->toHtml()
#18 app/code/core/Mage/Core/Controller/Varien/Action.php(390): Mage_Core_Model_Layout->getOutput()
#19 app/code/core/Mage/Adminhtml/controllers/DashboardController.php(43): Mage_Core_Controller_Varien_Action->renderLayout()
#20 app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Adminhtml_DashboardController->indexAction()
#21 app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('index')
#22 app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Mage_Core_Controller_Request_Http)
#23 app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#24 app/Mage.php(683): Mage_Core_Model_App->run(Array)
#25 index.php(88): Mage->run('default', 'store')
War es hilfreich?

Lösung

Leider gibt es nicht genügend Informationen in Ihrer Frage, um dies genau zu debuggen, und basierend auf den Einzelheiten Ihres Anrufstacks sieht es so aus, als hätte dieses System einige Anpassungen erhalten, die möglicherweise das Standardverhalten des Store stören. Hier sind einige Beobachtungen, die Ihnen helfen können, das Problem aufzuspüren

  1. Magento versucht es include Ein Vorlagenblock mit einer leeren Zeichenfolge, die sich als Vorlage befindet. Deshalb sehen Sie die Warnung. Suchen Sie nach neuen (oder alten) setTemplate, oder template="" In Ihrem Code oder an einem Ort wird ein Vorlagenblock instanziiert, ohne eine Vorlage festzulegen

  2. Magento versucht, die Vorlage zu rendern system/cache/notifications.phtml - Die Tatsache ist jedoch auf die zurückgefallen base Designpaket, dies bedeutet, dass Magento diese Datei nicht finden konnte irgendein adminhtml Paket/Thema. Dies ist eine Aktiendatei, die mit dem System versendet wird und möglicherweise entfernt wurde

  3. Sie sagen, Sie sehen es "überall", aber die Fehler zeigen, dass es sich um ein Problem handelt. Dies könnte bedeuten, dass Sie versuchen, den Administratorcode aus dem Frontend von umgekehrt auszuführen (wiederum schwer, so etwas aus der Ferne zu debuggen)

Andere Tipps

Sehen Wie kann ich "leere Vorlage" debuggen: Dateiname kann in template.php nicht leer werden

Wir haben dies gelöst, indem wir hinzufügen

    if (strpos($includeFilePath, realpath($this->_viewDir)) === 0 || $this->_getAllowSymlinks()) {
        if (empty($includeFilePath)) {
            Mage::Log("Cannot set emptt filename" . $fileName . " on a " . get_class($this) );
            Mage::log(Mage::printDebugBacktrace(), null, 'backtrace.log'); //or you can even log the backtrace
            include $includeFilePath;
        } else {
            include $includeFilePath;
        }
    } else {
        Mage::log('Not valid template file:'.$fileName, Zend_Log::CRIT, null, null, true);
    }

Wo 'mage :: printdebugbacktrace ()' von hier gepackt wurde

http://www.blog.magepsycho.com/utilizing-debug_backtrace-function-magento-debugging/

Auf diese Weise hatten wir noch einige Informationen zu ...

Alle oben genannten Antworten sind korrekt. Ich wollte nur einen bestimmten Fall hinzufügen, den ich denke, dass viele Leute in die Uptpon stolpern können.

Falls Sie Modman verwenden, um Ihre Module (oder einen anderen Modulsymbloink -Manager) zu verwalten, stellen Sie sicher, dass Ihre Modman -Datei die richtigen Pfade enthält, und danach haben Sie es getan:

modman deploy namespace_module.

Persönlich habe ich festgestellt, dass ich mindestens 15 Minuten für das Debuggen für so offensichtliche Sache bei der Entwicklung eines Moduls und mit einem Befehl generate -modman zum Sparen verlor - nach dem Vergessen, es erneut aufzurufen Platz.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top