Notification, erreur soudaine: Warning: include (): Nom du fichier ne peut pas être vide

magento.stackexchange https://magento.stackexchange.com/questions/6622

  •  16-10-2019
  •  | 
  •  

Question

Depuis ce soir, nous voyons cette erreur.

D'abord, nous le voyons dans le journal des erreurs

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

et à l'exception de l'impression complète, nous voyons ce qui suit.

J'ai essayé de désactiver les notifications, mais ne sais pas où commencer (et comment cela se produit soudainement)

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')
Était-ce utile?

La solution

Malheureusement, il n'y a pas assez d'informations dans votre question pour déboguer avec précision cela, et en fonction des spécificités de votre pile d'appel, il semble que ce système a reçu quelques personnalisations qui peuvent interférer avec le comportement du magasin standard. Voici quelques observations qui peuvent vous aider à traquer le problème

  1. Magento essaie de include un bloc de modèle avec un ensemble de chaîne vide comme modèle de lui. Voilà pourquoi vous voyez l'avertissement. Recherchez les nouveaux (ou anciens) setTemplate ou template="" dans votre code, ou tout autre lieu un bloc de modèle est instancié sans définition d'un modèle

  2. de Magento essayer de rendre le modèle system/cache/notifications.phtml - cependant, le fait le dos tombé à l'ensemble de la conception de base faire ce moyen Magento n'a pas pu trouver ce fichier dans any Forfait adminhtml / thème . Ce fichier de stock qui est livré avec le système, et peuvent avoir été supprimées

  3. Vous dites que vous le voir « partout », mais les erreurs indiquent qu'il est un administrateur seul problème. Cela pourrait signifier que vous essayez d'exécuter du code administrateur de la fin avant de vice-versa (encore une fois, difficile de déboguer à distance ce genre de chose)

Autres conseils

Voir Comment puis-je déboguer « template vide »: Nom du fichier ne peut pas être vide dans template.php

Nous avons résolu ce problème en ajoutant

    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);
    }

où «Mage :: printDebugBacktrace () a été saisi d'ici

http: //www.blog.magepsycho. com / utilisation-debug_backtrace-fonction-de-magento-débogage /

De cette façon, nous avions un peu plus d'informations pour aller par ...

Toutes les réponses ci-dessus sont corrects. Je voulais juste ajouter un cas spécifique que je pense que beaucoup de gens peuvent trébucher uppon.

Dans le cas où vous utilisez Modman pour gérer vos modules (ou tout autre gestionnaire de lien symbolique du module), assurez-vous que votre fichier Modman contient des chemins appropriés et après que vous avez fait:

modman deploy namespace_module.

Personnellement, je me suis trouvé perdre au moins 15 minutes pour le débogage chose évidente lors de l'élaboration et certains modules en utilisant une commande generate-Modman pour gagner du temps - après que l'oubli à appeler à nouveau il ajouterait les fichiers nouvellement créés et deploy des liens symboliques vers bon endroit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top