Update: Znalazłem, że klasa I rzeczywiście trzeba przepisać to SMDesign_SMDZoom_Block_Product_View_Media
, a nie SMDesign_ColorswatchProductView_Block_Product_View_Media
jak pierwotnie sądzono. Jednak dokładnie ten sam problem nadal obowiązuje.
Rozszerzenie SMDesign SMDZoom przepisuje blokową klasę „catalog / product_view_media”. Plik XML wygląda tak:
<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>
Chcę ponownie napisać tę klasę. Chcę przepisać klasę katalog / product_view_media, którą ten moduł smdzoom przepisuje. Czy można to zrobić? Jak wyglądałby config xml w moim module, aby to zrobić?
Obecnie jest to plik xml init modułu:
<config>
<modules>
<Goorin_SMDZoom>
<active>true</active>
<codePool>local</codePool>
</Goorin_SMDZoom>
<depends>
<Mage_Catalog />
<SMDesign_SMDZoom />
</depends>
</modules>
</config>
i plik config.xml modułu:
<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>
Moja nowa klasa wygląda tak po prostu do testowania:
class Goorin_SMDZoom_Block_Product_View_Media extends SMDesign_SMDZoom_Block_Product_View_Media
{
public function _construct() {
parent::_construct();
}
}
Testuję to, wyświetlając wskazówki dotyczące ścieżki szablonu i widzę, że blok SMDesign jest nadal używany na stronie widoku produktu. Co ja robię źle?
źródło
<depends>
węzeł nie działa.Dlatego przepisywanie podstawowych klas jest do bani.
Strzelanie stamtąd tutaj, ale myślę, że najlepszym rozwiązaniem byłoby rozszerzenie implementacji próbki koloru,
Mage_Catalog_Blog_Product_View_Media
a następnie uzależnienie modułu od modułu próbki koloru.Alan Storm odpowiedział na podobne pytanie tutaj .
Jeszcze lepiej byłoby spróbować zrobić wszystko, co próbujesz zrobić przez obserwatora.
źródło