Pembaruan: Saya menemukan bahwa kelas yang benar-benar perlu saya tulis ulang adalah SMDesign_SMDZoom_Block_Product_View_Media
dan tidak SMDesign_ColorswatchProductView_Block_Product_View_Media
seperti yang saya pikir semula. Namun, masalah yang sama persis masih berlaku.
Ekstensi SMDesign SMDZoom menulis ulang blok kelas 'katalog / product_view_media'. Xml untuk itu terlihat seperti ini:
<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>
Saya ingin menulis ulang kelas ini lagi. Saya ingin menulis ulang kelas katalog / product_view_media yang ditulis ulang oleh modul smdzoom ini. Bisakah ini dilakukan? Seperti apa konfigurasi xml di modul saya untuk melakukan ini?
Saat ini adalah file modul xml init saya:
<config>
<modules>
<Goorin_SMDZoom>
<active>true</active>
<codePool>local</codePool>
</Goorin_SMDZoom>
<depends>
<Mage_Catalog />
<SMDesign_SMDZoom />
</depends>
</modules>
</config>
dan file config.xml modul:
<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>
Kelas baru saya terlihat seperti ini untuk pengujian:
class Goorin_SMDZoom_Block_Product_View_Media extends SMDesign_SMDZoom_Block_Product_View_Media
{
public function _construct() {
parent::_construct();
}
}
Saya menguji ini dengan menampilkan petunjuk jalur templat, dan saya melihat blok SMDesign masih digunakan pada halaman tampilan produk. Apa yang saya lakukan salah?
sumber
<depends>
simpul tidak berfungsi ..Inilah sebabnya mengapa menulis ulang kelas inti menyebalkan.
Menembak dari sana pinggul di sini tapi saya pikir taruhan terbaik Anda adalah untuk memperpanjang implementasi carikan warna
Mage_Catalog_Blog_Product_View_Media
dan kemudian membuat modul Anda tergantung pada modul carikan warna.Alan Storm menjawab pertanyaan serupa di sini .
Yang lebih baik adalah mencoba dan melakukan apa pun yang Anda coba lakukan melalui pengamat.
sumber