我目前正在尝试连接“sales_order_save_after”事件,但在触发该事件时不断收到以下错误:
Mage registry key "_singleton/Modulename/Orderobserver" already exists
现在我已经检查了 Orderobserver 类的命名是否正确,并且与 xml 中对该类的调用相匹配,但错误仍然发生。调用该事件的 xml 如下所示:
<events>
<sales_order_save_after>
<observers>
<modulename>
<type>singleton</type>
<class>Modulename/Orderobserver</class>
<method>generateOrderFile</method>
</modulename>
</observers>
</sales_order_save_after>
</events>
该类被命名为Companyname_Modulename_Model_Modulename_Orderobserver
.
类文件的命名和位置如下:app/code/local/Companyname/Modulename/Model/Modulename/Orderobserver.php
有趣的是,当错误发生时,服务器日志中还会记录以下错误:
client denied by server configuration:
/var/www/vhosts/path/to/subdomain/httpdocs/app/etc/local.xml
这可能是权限问题吗?
Update:
我查看了 Magento 系统日志,还记录了以下错误:
Failed opening 'Mage/Retailpro/Model/Orderobserver.php' for inclusion (include_path='/var/www/path/to/subdomain/httpdocs/app/code/local:/var/www/path/to/subdomain/httpdocs/app/code/community:/var/www/path/to/subdomain/httpdocs/app/code/core:/var/www/path/to/subdomain/httpdocs/lib:.:') in /var/www/path/to/subdomain/httpdocs/lib/Varien/Autoload.php on line 93