XML конфигурации Magento для добавления действия контроллера в основной контроллер администратора - PullRequest
1 голос
/ 30 апреля 2010

Я пытаюсь добавить пользовательское действие в основной контроллер, расширяя его в локальном модуле. Ниже у меня есть определение класса, которое находится в magento1_3_2_2 / app / code / local / MyCompany / MyModule / controllers / Catalog / ProductController.php

class MyCompany_MyModule_Catalog_ProductController extends Mage_Adminhtml_Catalog_ProductController                                                                                                                                                                                
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
  public function massAttributeSetAction(){
    ...
  }
}

Вот мой конфигурационный файл на magento1_3_2_2 / приложение / код / ​​местные / MyCompany / MyModule / и т.д. / config.xml:

...
<global>
    <rewrite>                                                                                                                                                                                                                                                             
        <mycompany_mymodule_catalog_product>                                                                                                                                                                                                                                   
            <from><![CDATA[#^/catalog_product/massAttributeSet/#]]></from>                                                                                                                                                                                              
            <to>/mymodule/catalog_product/massAttributeSet/</to>                                                                                                                                                                                                           
        </mycompany_mymodule_catalog_product>                                                                                                                                                                                                                                  
    </rewrite>

    <admin>                                                                                                                                                                                                                                                                   
        <routers>                                                                                                                                                                                                                                                               
            <MyCompany_MyModule>                                                                                                                                                                                                                                                       
                <use>admin</use>                                                                                                                                                                                                                                                    
                <args>                                                                                                                                                                                                                                                              
                    <module>MyCompany_MyModule</module>                                                                                                                                                                                                                                    
                    <frontName>MyModule</frontName>                                                                                                                                                                                                                                      
                </args>                                                                                                                                                                                                                                                             
            </MyCompany_MyModule>                                                                                                                                                                                                                                                      
        </routers>                                                                                                                                                                                                                                                              
    </admin>
</global>
...

Однако, https://example.com/index.php/admin/catalog_product/massAttributeSet/ просто возвращает страницу администратора 404. Я знаю, что модуль активен - другой код выполняется нормально. Я чувствую, что это просто проблема с моим синтаксисом XML. Я собираюсь об этом написать путь? Я колеблюсь, потому что на самом деле я не переписываю метод контроллера ... Я добавляю один полностью. Однако в этом есть смысл, исходный URL администратора не будет отвечать на это имя действия, и его нужно будет перенаправить.

Я использую Magento 1.3.2.2

Спасибо за любые рекомендации.

1 Ответ

2 голосов
/ 30 апреля 2010

В данный момент у меня нет доступа к моим установкам Magento, но появляются две вещи

Во-первых, ваше правило записи

[#^/catalog_product/massAttributeSet/]

говорит "соответствует любому URL, который начинается с / catalog_product", и ваш вопрос указывает, что вы хотите соответствовать URL, который начинается с /admin/catalog_product.

Во-вторых, если вы используете 1.3+, попробуйте пропустить метод перезаписи URL и попробовать вместо «реального» переопределения контроллера .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...