Magento 自定义管理模块在补丁 5994 后给出 404
Magento custom admin module gives 404 after patch 5994
我已经在 Magento 1.9.0.1 CE 上成功应用了补丁 5994。
现在我不能调用我的自定义模块。所有这些都给出错误“404 not found”。
核心模块工作正常,但所有地雷都没有。
我认为路由系统有一些修改,在此补丁之前,magento 引擎能够以某种方式发送我的请求,但现在他不能。
有没有人知道这个补丁中路由的修改在哪里?
再说一次:自定义模块在补丁之前工作正常。补丁后他们进入 404。
谢谢
@Horvath
我也遇到了同样的问题并找到了解决方法,要解决此问题,您需要按照以下步骤操作。
更改模块的 config.xml 它应该像这样配置。
<admin>
<routers>
<adminhtml>
<args>
<modules>
<syncengine before="Mage_Adminhtml">Yourmodule_Syncengine_Adminhtml</syncengine>
</modules>
</args>
</adminhtml>
</routers>
如果您在管理端创建了一些菜单,请在模块的 etc\adminhtml.xml 中进行更改。
<syncengines module="syncengine">
<title>Sync</title>
<sort_order>20</sort_order>
<children>
<items module="syncengine">
<title>Manage Uploads</title>
<sort_order>0</sort_order>
<action>adminhtml/syncengine</action>
</items>
</children>
</syncengines>
(之前动作节点的变化是<action>syncengine/adminhtml_syncengine</action>
)
请注意,您需要对所有儿童项进行此更改。
在布局文件中进行更改app/design/adminhtml/default/default/layout/yourmodulelayout。xml
之前是<syncengine_adminhtml_synyengine_index>
因此删除xml
中所有节点中的所有syncengine_
- 最后,如果您在 Block/adminhtml 中使用过
getUrl('suncengine/adminhtml_/')
的地方添加了任何按钮,请将其替换为 getUrl('adminhtml/')
我已经在 Magento 1.9.0.1 CE 上成功应用了补丁 5994。 现在我不能调用我的自定义模块。所有这些都给出错误“404 not found”。 核心模块工作正常,但所有地雷都没有。 我认为路由系统有一些修改,在此补丁之前,magento 引擎能够以某种方式发送我的请求,但现在他不能。 有没有人知道这个补丁中路由的修改在哪里?
再说一次:自定义模块在补丁之前工作正常。补丁后他们进入 404。
谢谢
@Horvath 我也遇到了同样的问题并找到了解决方法,要解决此问题,您需要按照以下步骤操作。
更改模块的 config.xml 它应该像这样配置。
<admin> <routers> <adminhtml> <args> <modules> <syncengine before="Mage_Adminhtml">Yourmodule_Syncengine_Adminhtml</syncengine> </modules> </args> </adminhtml> </routers>
如果您在管理端创建了一些菜单,请在模块的 etc\adminhtml.xml 中进行更改。
<syncengines module="syncengine"> <title>Sync</title> <sort_order>20</sort_order> <children> <items module="syncengine"> <title>Manage Uploads</title> <sort_order>0</sort_order> <action>adminhtml/syncengine</action> </items> </children> </syncengines>
(之前动作节点的变化是<action>syncengine/adminhtml_syncengine</action>
)
请注意,您需要对所有儿童项进行此更改。
在布局文件中进行更改app/design/adminhtml/default/default/layout/yourmodulelayout。xml
之前是<syncengine_adminhtml_synyengine_index>
因此删除xml
中所有节点中的所有syncengine_
- 最后,如果您在 Block/adminhtml 中使用过
getUrl('suncengine/adminhtml_/')
的地方添加了任何按钮,请将其替换为getUrl('adminhtml/')