【问题标题】:How to fix Magento 1.7 Developer mode如何修复 Magento 1.7 开发者模式
【发布时间】:2013-02-07 11:29:53
【问题描述】:

每当我在 Magento 1.7 中打开开发者模式时,我都会收到此警告消息 如果有任何其他警告或错误,它将显示该错误 但是当没有错误时,这个屏幕就会出现。 关闭开发者模式后,我就可以使用网站了。

警告:get_class() 期望参数 1 为对象,布尔值在 >C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php 第 1340 行中给出

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 ...', Array) #4 >C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Front.php(147): ?>Mage::dispatchEvent('controller_fron. ..', Array) #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('', 'store') #10 {main}

如有任何帮助或指导,我们将不胜感激。

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    你有一个已失效的观察者;见Mage_Core_Model_App::_callObserverMethod() (link)

    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() (link))。除非Mage_Cms_Controller_Router (link) 出现问题,否则问题一定出在配置为观察此事件的自定义模块上。

    要查找有问题的配置,请在 app/code 中搜索 <controller_front_init_routers>

    您也可以create a test script which does not invoke the Front Controller 并使用它来调试:

    <?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"
        }
    }
    

    【讨论】:

    • 感谢@benmarks 在您的测试文件的帮助下。我发现问题是我创建的新模块配置不正确。感谢分配
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多