通知、突然のエラー:警告:include():ファイル名は空にできません


7

今晩から、このエラーが発生しています。

まず、これをエラーログで確認します

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')

回答:


7

残念ながら、これを正確にデバッグするのに十分な情報が質問にありません。コールスタックの詳細に基づいて、このシステムは、標準のストアの動作を妨げている可能性があるいくつかのカスタマイズを受け取ったようです。問題の追跡に役立つ可能性のある観察結果を以下に示します

  1. Magentoはinclude、テンプレートとして空の文字列が設定されたテンプレートブロックを作成しようとしています。そのため、警告が表示されます。テンプレートを設定せずに、新しい(または古い)setTemplatetemplate=""コード内、またはテンプレートブロックがインスタンス化されている場所を探します。

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

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


1
Thxアレン。気づいたこと。-バックエンドでのみ発生するようです-adminhtmlの/ base / defaultはありません-ファイルはapp / design / adminhtml / default / default / template / index / notifications.phtmlに適切に配置されています-それはテンプレート参照が空の拡張機能
snh_nl 2013

2
アレンに感謝します。これは現在ソルバーです。ディレクトリ/ public_html / app / design / adminhtml / default / default / template / system / cache全体がなくなっている、つまり空でした。理由と方法はわかりません。しかし、ありがとう-私はストックからいくつかのファイルをコピーし、エラーはなくなりました
snh_nl 2013

ありがとう、私の場合、異なるテンプレートフォルダがあり、間違ったフォルダにテンプレートを作成したため、エラーがスローされました。
コスタノス2014

また、存在しないテンプレートへの参照である可能性もあります。私の場合、getChildHtml()存在しないテンプレートを使用するブロックにaを使用しました。あなたのポイント1.若干異なる
ジャック・

2

「空のテンプレート」をデバッグするにどうすればよいですかを参照してください: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/

このようにして、いくつかの詳細な情報を得ました...


1

上記のすべての答えは正しいです。私は多くの人がつまずくかもしれないと思う特定のケースを追加したかっただけです。

modmanを使用してモジュール(またはその他のモジュールのシンボリックリンクマネージャー)を管理している場合は、modmanファイルに適切なパスが含まれていることを確認してから、次のようにします。

modman deploy namespace_module

個人的には、いくつかのモジュールを開発し、generate-modmanコマンドを使用して時間を節約するとき、そのような明白なことをデバッグするために少なくとも15分を失うことに気づきました-その後、それを再度呼び出すことを忘れたので、新しく作成されたファイルを追加し、シンボリックリンクを右に展開します場所。


興味深いことに、私はOPで言及されているのと同じエラーを抱えており、モジュールのデプロイメントにmodmanを使用しています。しかし、私はすべてのmodmanファイルを自分で作成しましたが、パスに欠陥があると、それらを適切に展開することさえできませんでした。それでも、これが事実であると言っているのですか?
Alex Timmer 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.