Я хочу перегрузить метод saveAction из ядра/Mage/Adminhtml/controllers/Catalog/ProductController.php и это не сработает - я сейчас целый день искал и пробовал :(
Предыстория: я хочу изменить значение пользовательского атрибута перед сохранением продукта. Я узнал, что _initProductSave устанавливает атрибуты, и я думаю, что изменить их после init_ProductSave было бы неплохо (если кто-нибудь знает лучшее место, пожалуйста, дайте мне знать) ...
МОЖЕТ КТО-НИБУДЬ ПОМОГИТЕ МНЕ... :)
Версия Magento: Community Edition версии 1.7.0.1 Без расширений, тем не установлено, я только что установил эту версию совершенно пустой...
ВЕРСИЯ 1: перезапись контроллера путем копирования в локальную папку/папку Mage
Прежде всего, я попытался скопировать файл в папку app/code/local в правильной структуре, но это не сработает (я сделал это с помощью Varient.php для локальной тестовой системы и store.php для исправления ошибок). баг с ценой - у обоих работает...)
ВЕРСИЯ 2: перезапись контроллера расширением
Мое расширение выглядит так:
Структура файла:
code/local/MyOne/MyExtension/controllers/Catalog/ProductController.php
code/local/MyOne/MyExtension/etc/config.xml
etc/modules/MyOne_MyExtension.xml
Файлы выглядят следующим образом: MyOne_MyExtension.xml:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<MyOne_MyExtension>
<active>true</active>
<codePool>local</codePool>
</MyOne_MyExtension>
</modules>
</config>
code/local/MyOne/MyExtension/etc/config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<MyOne_MyExtension>
<version>1.0.0</version>
</MyOne_MyExtension>
</modules>
<admin>
<routers>
<adminhtml>
<args>
<modules>
<MyOne_MyExtension before="Mage_Adminhtml">MyOne_MyExtension_Catalog_ProductController</MyOne_MyExtension>
</modules>
</args>
</adminhtml>
</routers>
</admin>
</config>
и последний, code/local/MyOne/MyExtension/controllers/Catalog/ProductController.php:
<?php
require_once 'Mage/Adminhtml/controllers/Catalog/ProductController.php';
class MyOne_MyExtension_Catalog_ProductController extends Mage_Adminhtml_Catalog_ProductController
{
public function saveAction()
{
// do my stuff
die('reached method');
// after pressing on save, there should no be a white screen ...
}
}
?>
Я столько гуглил и читал, ошибки не вижу...
Любая помощь будет действительно здорово !!!
Привет, Матиас