Уведомление, внезапная ошибка: предупреждение: include (): имя файла не может быть пустым

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

  •  16-10-2019
  •  | 
  •  

Вопрос

С этого вечера мы видим эту ошибку.

Сначала мы видим это в журнале ошибок

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

И за полной печати мы видим следующее.

Я пытался отключить уведомления, но не знаю, с чего начать (и как это внезапно происходит)

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')
Это было полезно?

Решение

К сожалению, в вашем вопросе недостаточно информации, чтобы точно отлаживать это, и, основываясь на специфике вашего стека вызовов, похоже, что эта система получила несколько настройки, которые могут вмешиваться в стандартное поведение в магазине. Вот некоторые наблюдения, которые могут помочь вам отследить проблему

  1. Magento пытается include Шаблонный блок с пустой строкой, установленной в шаблоне. Вот почему вы видите предупреждение. Ищите любой новый (или старый) setTemplate, или же template="" В вашем коде или любом месте, как блок шаблона создается без установки шаблона

  2. Magento пытается отобразить шаблон system/cache/notifications.phtml - однако, факт, что он вернулся к base дизайн пакет для этого означает, что Magento не мог найти этот файл в Любые adminhtml пакет/тема. Это фондовый файл, который поставляется с системой, и, возможно, был удален

  3. Вы говорите, что видите это «везде», но ошибки указывают на то, что это проблема только администратора. Это может означать, что вы пытаетесь запустить код администратора с передней части наоборот (опять же, трудно отлаживать такого рода)

Другие советы

Видеть Как я могу отладить «пустой шаблон»: имя файла не может быть пустым в Template.php

Мы решили это, добавив

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

где «mage :: printdebugbacktrace ()» был схвачен отсюда

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

Таким образом, у нас было больше информации, чтобы пройти ...

Все вышеупомянутые ответы верны. Я просто хотел добавить конкретный случай, который, я думаю, многие люди могут споткнуться.

Если вы используете Modman для управления своими модулями (или любых других модулей Symling Manager), убедитесь, что ваш файл Modman содержит правильные пути, а после этого вы сделали:

modman deploy namespace_module.

Лично я обнаружил, что теряю не менее 15 минут для отладки такой очевидной вещи при разработке какого -либо модуля и использую команду Generate -Modman, чтобы сэкономить время - после того, как это забыл о том, чтобы снова его вызовать, так что она добавила вновь созданные файлы и развернут символические ссылки. место.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top