更新:実際に書き換える必要があるクラスはSMDesign_SMDZoom_Block_Product_View_Media
、SMDesign_ColorswatchProductView_Block_Product_View_Media
当初考えていたものではないことがわかりました。ただし、まったく同じ問題が引き続き適用されます。
SMDesign SMDZoom拡張機能は、ブロッククラス「catalog / product_view_media」を書き換えます。そのためのxmlは次のようになります。
<global>
...
<blocks>
<smdzoom>
<class>SMDesign_SMDZoom_Block</class>
</smdzoom>
</blocks>
<blocks>
<catalog>
<rewrite>
<product_view_media>SMDesign_SMDZoom_Block_Product_View_Media</product_view_media>
</rewrite>
</catalog>
</blocks>
....
</global>
このクラスをもう一度書き直したいと思います。このsmdzoomモジュールが書き換えているcatalog / product_view_mediaクラスを書き換えたいです。これはできますか?これを行うために私のモジュールではconfig xmlはどのように見えますか?
現在、これは私のモジュールinit xmlファイルです。
<config>
<modules>
<Goorin_SMDZoom>
<active>true</active>
<codePool>local</codePool>
</Goorin_SMDZoom>
<depends>
<Mage_Catalog />
<SMDesign_SMDZoom />
</depends>
</modules>
</config>
およびモジュールのconfig.xmlファイル:
<global>
<blocks>
<gbismdzoom>
<class>Goorin_SMDZoom_Block</class>
</gbismdzoom>
<catalog>
<rewrite>
<product_view_media>Goorin_SMDZoom_Block_Product_View_Media</product_view_media>
</rewrite>
</catalog>
</blocks>
</global>
私の新しいクラスは、テストでは次のようになります。
class Goorin_SMDZoom_Block_Product_View_Media extends SMDesign_SMDZoom_Block_Product_View_Media
{
public function _construct() {
parent::_construct();
}
}
テンプレートパスのヒントを表示してこれをテストしていますが、製品ビューページでSMDesignブロックがまだ使用されているのがわかります。何が間違っていますか?