อัปเดต:ฉันพบว่าชั้นที่ฉันต้องการเขียนจริงนั้นSMDesign_SMDZoom_Block_Product_View_Media
ไม่SMDesign_ColorswatchProductView_Block_Product_View_Media
เหมือนที่ฉันคิดไว้ในตอนแรก อย่างไรก็ตามปัญหาเดียวกันที่แน่นอนยังคงใช้
ส่วนขยายการออกแบบ 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>
ฉันต้องการเขียนคลาสนี้อีกครั้ง ฉันต้องการเขียนคลาส catalog / product_view_media อีกครั้งว่าโมดูล smdzoom นี้กำลังเขียนใหม่ สามารถทำได้หรือไม่ config xml มีลักษณะอย่างไรในโมดูลของฉันเพื่อทำสิ่งนี้?
ปัจจุบันนี้เป็นไฟล์โมดูล 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();
}
}
ฉันกำลังทดสอบสิ่งนี้โดยการแสดงคำแนะนำเส้นทางเทมเพลตและฉันเห็นบล็อกการออกแบบ SMD ยังคงถูกใช้ในหน้ามุมมองผลิตภัณฑ์ ผมทำอะไรผิดหรือเปล่า?