导致此错误的原因是什么?

时间:2013-08-09 01:39:56

标签: magento

跟踪:

#0 /opt/bitnami/apps/magento/wishupon/app/Mage.php(222): Mage::throwException('Mage registry k...')
#1 /opt/bitnami/apps/magento/wishupon/app/Mage.php(476): Mage::register('_singleton/cust...', false)
#2 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Core/Model/App.php(1316): Mage::getSingleton('customgrid/obse...')
#3 /opt/bitnami/apps/magento/wishupon/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array)
#4 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Core/Controller/Varien/Action.php(528): Mage::dispatchEvent('controller_acti...', Array)
#5 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Adminhtml/Controller/Action.php(160): Mage_Core_Controller_Varien_Action->preDispatch()
#6 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Core/Controller/Varien/Action.php(408): Mage_Adminhtml_Controller_Action->preDispatch()
#7 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('login')
#8 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#9 /opt/bitnami/apps/magento/wishupon/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#10 /opt/bitnami/apps/magento/wishupon/app/Mage.php(683): Mage_Core_Model_App->run(Array)
#11 /opt/bitnami/apps/magento/wishupon/index.php(87): Mage::run('', 'store')
#12 {main}

1 个答案:

答案 0 :(得分:1)

问题是由于文件丢失或事件配置错误或模型别名未正确声明造成的 对于事件controller_action_predispatch_....(我无法在错误消息中看到事件名称的其余部分 - 可能是controller_action_predispatch_customer_account_login但不太确定),将调用观察者customgrid/observer
要么缺少类Namespace_Customgrid_Model_Observer(名称空间可以是我刚放置的Namespace作为占位符),要么在扩展名的config.xml中,模型别名未正确声明。它应该是这样的:

<models>
    <customgrid>
        <class>Namespace_Customgrid_Model</class><!-- again `Namespace` is just a placeholder. it can be anything-->
    </customgrid>
</models>

config.xml文件中查找文字customgrid/observer,并在您的问题中发帖,如果您无法找出问题,可以找到什么。实际上发布你发现的完整文件。

关闭主题,但很高兴知道:
实际上由于getSingleton方法中的Magento小错误而引发异常。在Magento中,单身人士实际上并不是单身人士。它是工厂和注册表的组合。 $_registry中的密钥不能包含2个值,但使用getSingleton实例化模型而不是检查array_key_exists($key, self::$_registry)时,会检查if (!self::registry($registryKey))。如果第一次调用getSingleton,则值为falsenull(因为模型丢失或未正确声明,因为它适用于您),第二次出现错误。
这个bug并不重要。如果您修复了自定义模块中的错误,则不应该这样做。