1

Magento 1.7 で開発者モードをオンにするたびに、この警告メッセージが表示されます。他の警告またはエラーがある場合は、そのエラーが表示されますが、エラーがない場合は、この画面が表示されます。開発者モードをオフにすると、Web サイトを使用できるようになります。

警告: get_class() は、パラメーター 1 がオブジェクトであると想定し、1340 行目の >C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php で指定されたブール値です

0 [内部関数]: mageCoreErrorHandler(2, 'get_class() exp...', 'C:\xampp\htdocs...', >1340, Array) #1 C:\xampp\htdocs\magento\app\ code\core\Mage\Core\Model\App.php(1340): >get_class(false) #2 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php(1317) ): >Mage_Core_Model_App->_callObserverMethod(false, 'check', Object(Varien_Event_Observer)) #3 >C:\xampp\htdocs\magento\app\Mage.php(447): Mage_Core_Model_App->dispatchEvent('controller_fron... '、配列) #4 >C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Front.php(147): ?>Mage::dispatchEvent('controller_fron...' 、配列) #5 >C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php(749): ?>Mage_Core_Controller_Varien_Front->init() #6 >C:\xampp\ htdocs\magento\app\code\core\Mage\Core\Model\App.php(1094): Mage_Core_Model_App->_initFrontController() #7 >C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php(354): Mage_Core_Model_App->getFrontController() #8 C:\xampp\htdocs\magento\app\Mage.php(683): Mage_Core_Model_App->run(Array) #9 C:\xampp\htdocs\magento\index.php(87): Mage::run('' , 'ストア') #10 {メイン}

ヘルプやガイダンスをいただければ幸いです。

4

1 に答える 1

1

機能していないオブザーバーがあります。Mage_Core_Model_App::_callObserverMethod()(リンク)を参照してください:

protected function _callObserverMethod($object, $method, $observer)
{
    if (method_exists($object, $method)) {
        $object->$method($observer);
    } elseif (Mage::getIsDeveloperMode()) {
        Mage::throwException('Method "'.$method.'" is not defined in "'.get_class($object).'"');
    }
    return $this;
}

残りのスタック トレースから、観測されているイベントがcontroller_front_init_routers(参照Mage_Core_Controller_Varien_Front::init()(リンク) ) であることを確認できます。Mage_Cms_Controller_Router(link)で問題が発生していない限り、このイベントを監視するように構成されたカスタム モジュールに問題があるはずです。

問題のある構成を見つけるには、 app/codeで を検索します<controller_front_init_routers>

フロント コントローラーを呼び出さないテスト スクリプトを作成し、それを使用してデバッグすることもできます。

<?php
ini_set('display_errors',true);
error_reporting(E_ALL | E_STRICT);
include 'app/Mage.php';
Mage::setIsDeveloperMode(true);
Mage::app();

Zend_Debug::dump(
    Mage::getConfig()->getXpath('//controller_front_init_routers//class')
);

ストック出力は次のようになります。他のものはあなたのトラブルメーカーです:

array(1) {
    [0] => object(Mage_Core_Model_Config_Element)#66 (1) {
        [0] => string(26) "Mage_Cms_Controller_Router"
    }
}
于 2013-02-22T00:43:36.703 に答える