【发布时间】:2009-12-09 21:09:09
【问题描述】:
我花了几个小时试图覆盖扩展中“添加商店”和“编辑商店”页面的 Magento 块,以向其中添加另一个文本框。在翻阅书籍和谷歌搜索后,我发现了一些人们说有效的解决方案,但不适合我。
一个推荐是this one。
我从 Lee Saferite 那里复制了所谓的正确解决方案,该解决方案适用于原始海报,但不适用于我。当然,我将值更改为我要覆盖的类和新修改的类。
我的 config.xml(相关部分):
<global>
<blocks>
<adminhtml>
<rewrite>
<system_store_sdit_form>Nintera_General_Block_StoreEdit</system_store_sdit_form>
</rewrite>
</adminhtml>
</blocks>
<resources></resources>
<helpers>
<Nintera_General>
<class>Nintera_General_Helper</class>
</Nintera_General>
</helpers>
</global>
还有位于 Nintera/General/Block/StoreEdit.php 的方块类:
class Nintera_General_Block_StoreEdit extends Mage_Adminhtml_Block_System_Store_Edit_Form
{
/**
* Prepare form data
*
* return Mage_Adminhtml_Block_Widget_Form
*/
protected function _prepareForm()
{ ... }
}
此类包含新的输入字段。如果我在以下位置修改原始核心文件,这些字段会完美显示:
app/core/Mage/Adminhtml/Block/System/Store/Edit.php
但我真的希望我的扩展程序覆盖它。如有必要,我可以发布我的整个 config.xml,但它主要是创建顶级管理菜单并指定扩展信息,仅此而已。
对出了什么问题有任何想法吗?非常感谢您的解决方案!
【问题讨论】:
标签: php magento overriding