Я пытаюсь добавить пользовательское действие к базовому контроллеру путем расширения его в локальном модуле. Ниже у меня есть определение класса, которое находится в 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/app/code/local/MyCompany/MyModule/etc/config.xml:
...
/mymodule/catalog_product/massAttributeSet/
MyCompany_MyModule
MyModule
...
Однако https://example.com/index.php/admin/catalog_product/massAttributeSet/просто приводит к администратору 404 страницы. Я знаю, что модуль активен - другой код выполняется прекрасный. Я чувствую, что это - просто проблема с моим синтаксисом XML. Я иду об этом запись путь? Я колеблюсь, потому что я на самом деле не переписываю метод контроллера... Я добавляю тот полностью. Однако это действительно имеет смысл в этом, исходный администраторский URL не ответит на то имя действия, и это должно будет быть перенаправлено.
Я использую Magento 1.3.2.2
Спасибо за любое руководство.
У меня сейчас нет доступа к моим установкам Magento, но две вещи бросаются в глаза
Во-первых, ваше правило записи
[#^/catalog_product/massAttributeSet/]
говорит "соответствовать любому URL, который начинается с /catalog_product", а ваш вопрос указывает на то, что вы хотите соответствовать URL, который начинается с /admin/catalog_product.
Во-вторых, если вы используете 1.3+, пропустите метод перезаписи URL и попробуйте настоящее переопределение контроллера.