2

Magentoで、抽象クラスのコードを変更したいと思います。具体的には、クラスMage_Core_Model_Resource_Db_Abstractの関数_getReadAdapter()の動作を変更したいと思います。

Alan Stormによるこの記事http://alanstorm.com/magento_upgrade_rewrite_overrideによると、これを行うには3つの方法があります。Magentoのソースコードを変更することは非常に悪いことであり、推奨されていません。一方、抽象クラスはモデルでもヘルパーでもブロックでもないので、Magentoのオーバーライド/書き換えシステムを使用できないようです。あれは正しいですか?

そのため、これを実行する唯一の方法は、app / local / Mageでこの特定のソースコードのコピーを作成し、この新しいコピーのコードを変更することです。そうですか?

4

2 に答える 2

2

はい、コードプールを使用するのapp/code/localが方法です。

これは、abstractクラスがMagentoファクトリによって処理されないためですが、クラス定義で文字通り拡張されます。

于 2012-09-11T09:23:21.383 に答える
0

実際には、抽象クラスを変更するべきではありません。代わりに、この抽象クラスを拡張する派生クラスを変更する必要があります。

于 2012-09-11T10:19:55.997 に答える