Actualización: descubrí que la clase que realmente necesito reescribir es SMDesign_SMDZoom_Block_Product_View_Media
y no SMDesign_ColorswatchProductView_Block_Product_View_Media
como pensaba originalmente. Sin embargo, se sigue aplicando exactamente el mismo problema.
La extensión SMDesign SMDZoom reescribe la clase de bloque 'catalog / product_view_media'. El xml para eso se ve así:
<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>
Quiero reescribir esta clase nuevamente. Quiero reescribir la clase catalog / product_view_media que este módulo smdzoom está reescribiendo. Se puede hacer esto? ¿Cómo se vería la configuración xml en mi módulo para hacer esto?
Actualmente este es mi módulo init xml file:
<config>
<modules>
<Goorin_SMDZoom>
<active>true</active>
<codePool>local</codePool>
</Goorin_SMDZoom>
<depends>
<Mage_Catalog />
<SMDesign_SMDZoom />
</depends>
</modules>
</config>
y el archivo del módulo 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>
Mi nueva clase simplemente se ve así para las pruebas:
class Goorin_SMDZoom_Block_Product_View_Media extends SMDesign_SMDZoom_Block_Product_View_Media
{
public function _construct() {
parent::_construct();
}
}
Estoy probando esto mostrando sugerencias de ruta de plantilla, y veo que el bloque SMDesign todavía se usa en la página de vista del producto. ¿Qué estoy haciendo mal?
fuente
<depends>
nodo no funciona ...Es por eso que reescribir las clases principales apesta.
Disparo desde allí, pero creo que su mejor opción sería extender la implementación de la muestra de color
Mage_Catalog_Blog_Product_View_Media
y luego hacer que su módulo dependa del módulo de muestra de color.Alan Storm respondió una pregunta similar aquí .
Aún mejor sería tratar de hacer lo que sea que intentes hacer a través de un observador.
fuente