2013-02-21 2 views
1

Когда я включаю режим разработчика в Magento 1.7, я получаю это предупреждение Если есть какие-либо другие предупреждения или ошибки, это там покажет, что ошибка Но когда нет ошибки этот экран подходит. Как только я выключу режим разработчика, я могу использовать веб-сайт.Как исправить Magento 1.7 Режим разработчика

Внимание: get_class() ожидает параметр 1, чтобы быть объектом, логическое значение дано в> C: \ XAMPP \ HTDOCS \ Magento \ APP \ \ код ядра \ Маг \ Ядро \ Модель \ 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 ('', 'магазин') # 10 {главный}

Любая помощь или руководство мы бы оценили.

ответ

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

выход Stock будет выглядеть следующим образом; все остальное - ваш нарушитель спокойствия:

array(1) { 
    [0] => object(Mage_Core_Model_Config_Element)#66 (1) { 
     [0] => string(26) "Mage_Cms_Controller_Router" 
    } 
} 
+0

Спасибо @benmarks с помощью вашего тестового файла. Я выяснил, что это был новый модуль, который я создал, который не настроен правильно. Thanks allot – abhiahirwar

Смежные вопросы