Magento custom admin module gives 404 after patch 5994

I've applied patch 5994 successfully on a Magento 1.9.0.1 CE. Now I cannot call my custom modules. All of it give error "404 not found". Core modules work fine but ALL of mines do not. I think there is some modification in routing system and before this patch magento engine was able to dispatch my request somehow but now he can't. Has anybody got any idea where are modification about routing in this patch?

Again: custom modules worked fine before patch. After patch they go into 404.

Thank you

Upvotes: 0

Views: 747

Answers (1)

Sardesh Sharma
Sardesh Sharma

Reputation: 1759

@Horvath I have also faced the same problem and found the fix, for fixing this problem you need to follow following steps.

  1. Make changes in config.xml of your module it should be configured like this.

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

  2. Make changes in etc\adminhtml.xml of your module if you have created some menu in admin side.

    <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>
    

(Changes in action node previously it was like <action>syncengine/adminhtml_syncengine</action>)

Note this change you need to make for all items under children.

  1. Make changes in layout file app/design/adminhtml/default/default/layout/yourmodulelayout.xml

Previously it was <syncengine_adminhtml_synyengine_index>

So remove all syncengine_ in all nodes in xml

  1. Finally if you have added any button in Block/adminhtml where ever you have you have used getUrl('suncengine/adminhtml_/') replace with getUrl('adminhtml/')

Upvotes: 1

Related Questions