Magento自定义管理模块在补丁5994之后提供404

时间:2015-05-19 13:06:53

标签: magento http-status-code-404 admin

我已经在Magento 1.9.0.1 CE上成功应用了补丁5994。 现在我无法调用我的自定义模块。所有这些都给出错误“404 not found”。 核心模块工作正常,但所有地雷都没有。 我认为路由系统有一些修改,在这个补丁magento引擎能够以某种方式发送我的请求之前,但现在他不能。 有没有人知道在这个补丁中有关路由的修改?

再次说明:自定义模块在补丁之前工作正常。修补后,他们进入404.

谢谢

1 个答案:

答案 0 :(得分:1)

@Horvath 我也遇到了同样的问题并找到了解决方案,为了解决这个问题,你需要按照以下步骤进行操作。

  1. 在模块的config.xml中进行更改,应该像这样进行配置。

    <admin>
     <routers>
       <adminhtml>
           <args>
              <modules>
                  <syncengine  before="Mage_Adminhtml">Yourmodule_Syncengine_Adminhtml</syncengine>
              </modules>
           </args>
       </adminhtml>
     </routers>
    

  2. 如果您在管理员端创建了一些菜单,请在模块的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>
    
  3. (以前操作节点中的更改类似于<action>syncengine/adminhtml_syncengine</action>

    请注意您需要为子项下的所有项目进行此更改

    1. 在布局文件app / design / adminhtml / default / default / layout / yourmodulelayout.xml中进行更改

                                 

    2. 以前是 <syncengine_adminhtml_synyengine_index>

      因此,删除xml

      中所有节点中的所有syncengine_
      1. 最后,如果您在Block / adminhtml中添加了任何按钮,那么您使用getUrl('suncengine/adminhtml_/')替换为getUrl('adminhtml/')