我已经想出如何将实际的标签项添加到我的自定义模块中,但是我无法弄清楚如何添加像系统模块那样的绿色标题部分标题。使用system.xml文件将自己的内容添加到系统模块本身并不困难,但如何将一个添加到自己的模块菜单中?!
编辑:添加我用于选项卡的代码作为参考。扩展块的文档也发布在下面。 http://docs.magentocommerce.com/Mage_Adminhtml/Mage_Adminhtml_Block_Widget_Tabs.html
这是添加标签,但是他们的标题呢?
$this->addTab('custom_assigned_tab1_id_name', array(
'label' => Mage::helper('coffefreakhelper1')->__('Custom tab1 here'),
'title' => Mage::helper('coffefreakhelper1')->__('My custom tab1 title here'),
'content' => 'Some content here. We could add direct string here, or we can use something like $this->getLayout()->createBlock("adminhtml/cms_page_edit_tab_main")->toHtml()',
'active' => true
));
编辑:解决了它
在查看系统块之后,我注意到他们已经制作了一个特定的模板和一些实用方法来处理widget类。所以,知道这一点,我扩展了Mage_Adminhtml_Block_System_Config_Tabs而不是Mage_Adminhtml_Block_Widget类。我在下面有一个测试示例。
class Inchoo_CoffeeFreak_Block_ShowTabsAdminBlock extends Mage_Adminhtml_Block_System_Config_Tabs {
protected $_tabs;
public function __construct() {
parent::__construct();
$this -> setId('test_config_tabs');
$this -> setTitle("Test Tab Page");
$this -> setTemplate('system/config/tabs.phtml');
}
protected function _beforeToHtml() {
for($tab = 1; $tab < 4; $tab++){
$tabCode = 'tab_' . $tab;
$tabTitle = "Tab " . $tab;
$this -> addTab($tabCode, array("label" => $tabTitle, "class" => ""));
for($section = 1; $section < 4; $section++){
$sectionCode = "section_" . $tab . "_" . $section;
$sectionTitle = "Section " . $section;
$this -> addSection($sectionCode, $tabCode, array('class' => '', 'label' => $sectionTitle, 'url' => '', ));
}
}
$this -> setLastSections();
return parent::_beforeToHtml();
}
public function setLastSections() {
foreach ($this->getTabs() as $tab) {
$sections = $tab -> getSections();
if ($sections) {
$sections -> getLastItem() -> setIsLast(true);
}
}
}
}
结果如下图所示。
https://drive.google.com/file/d/0By8e425vlQRuNFBxSjRuM3NKTnc/view?usp=sharing
我扩展的课程是指&#34;标签&#34;作为主要部分的标题。它将每组子标签分开。子标签被称为&#39;部分&#39;。我的测试脚本只是循环并创建3个标签,每个标签有3个部分。
答案 0 :(得分:0)
我在主帖上添加了一个带有答案的编辑。为其他想要使用它的人提供了一个测试片段。
另外值得一提的是,我的样板模块是由Inchoo创建的,可以在下面的链接中查看。我用上面粘贴的代码替换了他们的标签代码。结果是一个很好的菜单,其中包含标题的选项卡。