我们的网站上有一个由前雇员撰写的Magento扩展程序。这个扩展名是为这个网站编写的,我正在努力找出这个扩展名出了什么问题。事实证明联系前雇员(我应该怎么做),这是解决这个问题的一种无效方法,所以我希望有人可以帮助我。
扩展程序在网站上运行良好,但是当我们点击后端的扩展程序时,在管理面板上,我们收到“404 Not Found 1”错误。
快速更新
在回滚大量补丁之后,我们注意到这个问题只发生在补丁5994之后。补丁5994中是否有任何可能导致这些问题的内容?
扩展程序本身包含以下文件:
Controller file was loaded but class does not exist
我可以更改config.xml
中的班级名称,而不是收到404错误,我会收到一封实际的崩溃报告,说明<?xml version="1.0"?>
<config>
<modules>
<muz_Worldman>
<version>1.0.0</version>
</muz_Worldman>
</modules>
<global>
<helpers>
<worldman>
<class>muz_Worldman_Helper</class>
</worldman>
</helpers>
</global>
<frontend>
<routers>
<worldman>
<use>standard</use>
<args>
<module>muz_Worldman</module>
<frontName>worldman</frontName>
</args>
</worldman>
</routers>
<layout>
<updates>
<worldman>
<file>worldman.xml</file>
</worldman>
</updates>
</layout>
</frontend>
<adminhtml>
<menu>
<cms>
<children>
<worldman_adminform translate="title" module="worldman">
<title>Worldman Manager</title>
<action>worldman/adminhtml_worldman</action>
</worldman_adminform>
</children>
</cms>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<cms>
<children>
<worldman_adminform>
<title>worldman Manager</title>
</worldman_adminform>
</children>
</cms>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<worldman>
<file>worldman.xml</file>
</worldman>
</updates>
</layout>
</adminhtml>
</config>
。
同样,此扩展程序在网站上运行正常。它只是从导致404的管理面板菜单中单击扩展名本身。
启用了扩展程序。我已经退出并退回了一百次。索引已重新编入索引。缓存已被清除并关闭。服务器已重新启动。但无济于事。
此时,我们非常感谢任何有关调试任何Magento扩展的建议。
如果这有帮助,这里是const
文件:
{{1}}
答案 0 :(得分:1)
ACL设置没有为用户设置正确,这就是为什么你得到404.即使ACL设置正确,如果你不刷新Magento配置缓存并注销然后再输出,你可能会收到此错误又回来了。
通过快速查看配置,似乎ACL设置的XML部分没问题,但您可能需要检查文件sys.path.insert(0, "/usr/local/lib/python2.7/dist-packages")
是否有类似这样的方法:
\app\code\local\muz\Worldman\controllers\Adminhtml\WorldmanController.php
我有一堆模块在Magento的最新补丁之后因为这种缺失的方法而停止工作。
另外,您是否尝试过自动拥有完全访问权限的管理员帐户?
<强> -------- EDIT ------- 强>
你提到的补丁(5994)给了我一个模块的类似问题。它使用了adminhtml-controller的前端路由,所以我要做的是删除protected function _isAllowed()
{
return Mage::getSingleton('admin/session')->isAllowed('cms/worldman_adminform');
}
之间的XML并用以下内容替换它:
<frontend>...</frontend>
并确保用于ACL操作的XML - <admin>
<routers>
<adminhtml>
<args>
<modules>
<muz_Worldman after="Mage_Adminhtml">muz_Worldman_Adminhtml</muz_Worldman>
</modules>
</args>
</adminhtml>
<worldman>
<use>admin</use>
<args>
<module>muz_Worldman</module>
<frontName>worldman</frontName>
</args>
</worldman>
</routers>
</admin>
是正确的,我必须对URL进行一些更改,以便我的更像(对你而言)<action>worldman/adminhtml_worldman</action>
。