我尝试重写sales_order_view 这是我在config.xml中的内容
<blocks>
<adminhtml>
<rewrite>
<sales_order_view>Bitstream_FancourierSelfawb_Block_View</sales_order_view>
</rewrite>
</adminhtml>
<bitstream_selfawb>
<class>Bitstream_FancourierSelfawb_Block</class>
</bitstream_selfawb>
</blocks>
Ofcorse,我在Bitstream / FancourierSelfawb / Block中有适当的文件
我只需要添加一个按钮,但查看其他模块,我看到该块已被覆盖。
<blocks>
<adminhtml>
<rewrite>
<sales_order_view>Fooman_EmailAttachments_Block_View</sales_order_view>
</rewrite>
</adminhtml>
</blocks>
如果我在Fooman模块的config.xml中对此进行评论,我可以看到我的按钮。否则,没有运气。 有没有办法在不同的模块中两次覆盖相同的块?
答案 0 :(得分:7)
在app/etc/modules/Bitstream_FancourierSelfawb.xml
中添加depends
节点。
<config>
<modules>
<Bitstream_FancourierSelfawb>
...
<depends>
<Fooman_EmailAttachments />
</depends>
</Bitstream_FancourierSelfawb>
</modules>
</config>
当然,您的Bitstream_FancourierSelfawb_Block_View
课程必须直接延长Fooman_EmailAttachments_Block_View
而不是法师原件。
如果您希望添加和使用Fooman扩展程序都可以使用,那么您将不得不使用更长的event-based method。