【发布时间】:2026-01-03 06:15:01
【问题描述】:
我正在开发一个模块,我需要覆盖一个块文件以添加新功能。我知道如何覆盖 blocks、model 和 controllers,但我想知道如果使用我扩展的类会发生什么由另一个模块类?
以上场景如下:
在我的模块 config.xml 中,我将块文件覆盖为:
<blocks>
<checkout>
<rewrite>
<cart_shipping>Company_Module_Block_Cart_Shipping</cart_shipping>
</rewrite>
</checkout>
</blocks>
并覆盖一个方法getEstimateRates()
但还有另一个模块的块文件扩展为Mage_Checkout_Block_Cart_Shipping。我的问题是——
“那个类能看到我的模块中被覆盖的类所做的更改吗?”
或
“我必须覆盖其他模块的块文件吗?”
【问题讨论】:
-
这可能会有所帮助
http://*.com/questions/23884838/how-to-override-community-block-module-with-php-file-in-magento/23885156#23885156 -
这是您不应该覆盖而是使用事件的原因之一
标签: php magento overriding