Cập nhật: Tôi thấy rằng lớp tôi thực sự cần phải viết lại SMDesign_SMDZoom_Block_Product_View_Media
và không SMDesign_ColorswatchProductView_Block_Product_View_Media
giống như tôi nghĩ ban đầu. Tuy nhiên, vấn đề chính xác vẫn được áp dụng.
Tiện ích mở rộng SMDesign SMZoom viết lại lớp 'catalog / sản phẩm_view_media'. Xml cho điều đó trông như thế này:
<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>
Tôi muốn viết lại lớp này một lần nữa. Tôi muốn viết lại danh mục / sản phẩm_view_media mà mô-đun smdzoom này đang viết lại. Điều này có thể được thực hiện? Cấu hình xml sẽ trông như thế nào trong mô-đun của tôi để làm điều này?
Hiện tại đây là tập tin init xml mô-đun của tôi:
<config>
<modules>
<Goorin_SMDZoom>
<active>true</active>
<codePool>local</codePool>
</Goorin_SMDZoom>
<depends>
<Mage_Catalog />
<SMDesign_SMDZoom />
</depends>
</modules>
</config>
và tệp cấu hình mô-đun:
<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>
Lớp mới của tôi chỉ đơn giản là trông như thế này để thử nghiệm:
class Goorin_SMDZoom_Block_Product_View_Media extends SMDesign_SMDZoom_Block_Product_View_Media
{
public function _construct() {
parent::_construct();
}
}
Tôi đang kiểm tra điều này bằng cách hiển thị các gợi ý đường dẫn mẫu và tôi thấy khối SMDesign vẫn đang được sử dụng trên trang xem sản phẩm. Tôi đang làm gì sai?