我正在处理模块,我需要覆盖一个块文件才能添加新功能。我知道如何覆盖块,模型和控制器但我想知道如果我扩展的类是什么会发生什么被另一个模块类使用?
以上情况如下:
在我的模块 config.xml 中,我将块文件重写为:
<blocks>
<checkout>
<rewrite>
<cart_shipping>Company_Module_Block_Cart_Shipping</cart_shipping>
</rewrite>
</checkout>
</blocks>
并覆盖方法getEstimateRates()
但是另一个模块的块文件扩展为Mage_Checkout_Block_Cart_Shipping
。我的问题是 -
&#34;该类是否能够在我的模块中看到在重写类中所做的更改?&#34;
OR
&#34;我是否必须覆盖其他模块块文件?&#34;
答案 0 :(得分:1)
您的一个或另一个扩展块将无效。可以通过从其中一个扩展您的或其他块来修复它。
例如Company_Module_Block_Cart_Shipping
是您的块,Other_Module_Block_Cart_Shipping
是其他块。
如果Other_Module_Block_Cart_Shipping
从核心延伸,则必须从Company_Module_Block_Cart_Shipping
Other_Module_Block_Cart_Shipping
答案 1 :(得分:0)
Magento为已启用模块的所有config.xml创建了一个config.xml树。
首先加载Mage_All.xml, 然后全部 法师。*。xml的 并按照字母顺序在其前面添加自定义模块.xml。
如果在etc / modules / module definition xml中给出了depends标记,则可以更改序列。
希望这可以解除你的怀疑。