core/Mage/Adminhtml/controllers/Catalog/ProductController.php から saveAction メソッドをオーバーロードしたいのですが、うまくいきません。
背景:商品を保存する前に、カスタム属性の値を変更したいと考えています。_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>
コード/ローカル/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 ...
}
}
?>
私はググって読んだことがありますが、エラーは表示されません...
どんな助けでも本当に素晴らしいでしょう!!!
こんにちは、マティアス