我知道我可以使用addAttribute()方法通过安装脚本添加表单元素。 但是,现在我想在General,Display Settings等旁边找到一个全新的标签。我想知道在没有过度复杂的情况下,最简单的方法是什么。
答案 0 :(得分:3)
假设您已经知道如何处理模块的其他部分。 你需要覆盖:
Mage_Adminhtml_Block_Catalog_Category_Tabs
在您的config.xml上执行:
<blocks>
<adminhtml>
<rewrite>
<catalog_category_tabs>YouModule_Block_Catalog_Category_Tabs</catalog_category_tabs>
</rewrite>
</adminhtml>
</blocks>
您需要覆盖_prepareLayout函数。
你会写下这段代码:
$this->addTab('idname', array(
'label' => Mage::helper('catalog')->__('Tab name'),
'content' => $this->getLayout()->createBlock('yourmodule/yourblock')->toHtml(),
));
return parent::_prepareLayout();
答案 1 :(得分:2)
重写块的另一种方法是听取事件adminhtml_catalog_category_tabs
,然后在你的观察者中做类似的事情。
$tabs = $observer->getTabs();
$tabs->addTab('myextratab', array(
'label' => Mage::helper('catalog')->__('My Extra Tab'),
'content' => 'Here is the contents for my extra tab'
));
这有助于阻止不同扩展程序之间可能发生的重写冲突。