Mise à jour: J'ai trouvé que la classe que j'avais réellement besoin de réécrire ne correspondait SMDesign_SMDZoom_Block_Product_View_Media
pas à ce SMDesign_ColorswatchProductView_Block_Product_View_Media
que je pensais à l'origine. Cependant, le même problème s'applique toujours.
L'extension SMDesign SMDZoom réécrit la classe de bloc «catalogue / product_view_media». Le xml pour cela ressemble à ceci:
<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>
Je veux réécrire cette classe à nouveau. Je veux réécrire la classe catalog / product_view_media que ce module smdzoom est en train de réécrire. Cela peut-il être fait? À quoi ressemblerait la configuration xml dans mon module pour ce faire?
Actuellement, voici mon fichier xml de module init:
<config>
<modules>
<Goorin_SMDZoom>
<active>true</active>
<codePool>local</codePool>
</Goorin_SMDZoom>
<depends>
<Mage_Catalog />
<SMDesign_SMDZoom />
</depends>
</modules>
</config>
et le fichier module 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>
Ma nouvelle classe ressemble simplement à ceci pour les tests:
class Goorin_SMDZoom_Block_Product_View_Media extends SMDesign_SMDZoom_Block_Product_View_Media
{
public function _construct() {
parent::_construct();
}
}
Je teste cela en affichant des indications de chemin de modèle, et je vois le bloc SMDesign toujours utilisé sur la page d'affichage du produit. Qu'est-ce que je fais mal?
la source
<depends>
nœud ne fonctionne pas ..C'est pourquoi réécrire les classes de base est nul.
Prise de vue à partir de là, hanche ici, mais je pense que votre meilleur pari serait d'étendre la mise en œuvre de l'échantillon de couleur
Mage_Catalog_Blog_Product_View_Media
et de faire en sorte que votre module dépende du module de l'échantillon de couleur.Alan Storm a répondu à une question similaire ici .
Encore mieux serait d'essayer de faire tout ce que vous essayez de faire par le biais d'un observateur.
la source