Magento的UI对象层次结构中的阴影选项卡是什么?

问题描述

| 我正在研究Magento内部,在Widget / Tab渲染层次结构中,我有点不明白阴影标签的概念。在为表单定义选项卡时,可以将其绑定为阴影选项卡
protected function _prepareLayout()
{
    parent::_prepareLayout();
    $this->addTab(\'bundle_items\',array(
        \'label\'     => Mage::helper(\'bundle\')->__(\'Bundle Items\'),\'url\'   => $this->getUrl(\'*/*/bundles\',array(\'_current\' => true)),\'class\' => \'ajax\',));
    $this->bindShadowTabs(\'bundle_items\',\'customer_options\');
}
bindShadowTabs
方法是带有
/**
 * Mark tabs as dependent of each other
 * Arbitrary number of tabs can be specified,but at least two
 *
 * @param string $tabOneId
 * @param string $tabTwoId
 * @param string $tabNId...
 */
public function bindShadowTabs($tabOneId,$tabTwoId)
利用PHP对象的Javascript看起来像
showTabContentImmediately : function(tab) {
    this.hideAllTabsContent();
    var tabContentElement = $(this.getTabContentElementId(tab));
    if (tabContentElement) {
        Element.show(tabContentElement);
        Element.addClassName(tab,\'active\');
        // load shadow tabs,if any
        if (tab.shadowTabs && tab.shadowTabs.length) {
            for (var k in tab.shadowTabs) {
                this.loadShadowTab($(tab.shadowTabs[k]));
            }
        }
        if (!Element.hasClassName(tab,\'ajax only\')) {
            Element.removeClassName(tab,\'notloaded\');
        }
        this.activeTab = tab;
    }
    if (varienGlobalEvents) {
        varienGlobalEvents.fireEvent(\'showTab\',{tab:tab});
    }
},
从基本的理解上,我还不完全清楚将一个选项卡“依赖”于另一个选项卡的含义是什么。这是一个简单的\“仅在呈现
customer_options
选项卡时才呈现
bundle_item
选项卡吗?还是其他?     

解决方法

似乎这意味着,只要显示了如shadowTabs绑定在一起的任何选项卡,此grop中的其他选项卡也将被呈现。 因此不是\“仅在呈现
customer_options
选项卡时才呈现
bundle_item
选项卡\”,而是\“在呈现
bundle_item
选项卡或
customer_options
选项卡时,也渲染另一个选项卡\”。 不确定我是否喜欢阴影的隐喻。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...