通知、突然のエラー:警告: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. マゼントはしようとしています include テンプレートのように空の文字列セットを備えたテンプレートブロック。だからあなたは警告を見ています。新しい(または古い)を探す setTemplate, 、 また template="" コード、または任意の場所でテンプレートブロックがテンプレートを設定せずにインスタンス化されます

  2. Magentoはテンプレートをレンダリングしようとしています system/cache/notifications.phtml - しかし、それが倒れたという事実 base これを行うための設計パッケージは、Magentoがこのファイルを見つけることができなかったことを意味します どれか adminhtml パッケージ/テーマ。これはシステムに出荷されるストックファイルであり、削除された可能性があります

  3. あなたはそれを「どこでも」と見ていると言いますが、エラーはそれが管理者のみの問題であることを示しています。これは、その逆のフロントエンドから管理コードを実行しようとしていることを意味するかもしれません(繰り返しますが、この種のことをリモートでデバッグするのは難しいです)

他のヒント

見る 「空のテンプレート」をデバッグするにはどうすればよいですか:filenameは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を使用してモジュール(または他のモジュールSymlinking Manager)を管理している場合は、ModManファイルに適切なパスが含まれていることを確認し、その後、次のことを確認してください。

modman deploy namespace_module.

個人的には、モジュールを開発し、Generate -Modmanコマンドを使用して時間を節約するときにそのような明白なものをデバッグするために少なくとも15分間失うことに気付きました。場所。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top