如何在magento自定义模块中创建多个选项卡?

时间:2012-10-18 10:40:00

标签: magento tabs

如何在管理端创建多个水平和垂直标签类别页面并将数据保存在数据库中?

1 个答案:

答案 0 :(得分:0)

我有关于在表单中添加垂直制表符的想法,只需将下面的代码放在模块的tabs.php文件中_beforeToHtml()函数

 $this->addTab('tabid', array(
            'label'     => Mage::helper('modulename')->__('Name of tab'),
            'class'     => 'ajax',
            'url'       => $this->getUrl('*/*/action controller name', array('_current' => true)),
        ));

只需给你任何你想要的tabid并在url中给动作名称添加这个函数也在你的tabs.php文件中进行句柄选项卡更新 并调用$ this-> _updateActiveTab();在_beforeToHtml()函数

protected function _updateActiveTab()
{
    $tabId = $this->getRequest()->getParam('tab');
    if ($tabId) {
        $tabId = preg_replace("#{$this->getId()}_#", '', $tabId);
        if ($tabId) {
            $this->setActiveTab($tabId);
        }
    }
    else {
       $this->setActiveTab('form_section'); 
    }
}

在控制器中添加类似这样的动作

public function yourAction() 
{
    $id = (int) $this->getRequest()->getParam('id');
    $model = Mage::getModel('modulename/modulename');

    if ($id) {
        $model->load($id);
    }

    Mage::register('modulename_data', $model);

    $this->getResponse()->setBody($this->getLayout()
      ->createBlock('modulename/adminhtml_modulename_edit_tab_tabid')->toHtml());
}