1

我知道我可以使用方法 addAttribute() 通过安装脚本添加表单元素。但是,现在我想在常规、显示设置等旁边获得一个全新的选项卡。我想知道在不过度复杂的情况下最简单的方法是什么。

4

2 回答 2

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();  
于 2012-12-06T19:53:48.383 回答
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'
));

这将有助于阻止不同扩展之间可能发生的重写冲突。

于 2014-01-16T21:23:13.087 回答