gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 22:15:26 25 4
gpt4 key购买 nike

我正在研究 Magento 的内部结构,在 Widget/Tab 渲染层次结构中有一个我不太清楚的 Shadow Tabs 概念。当您为表单定义选项卡时,您可以将其绑定(bind)为影子选项卡

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 绑定(bind)在一起的任何选项卡,该组中的其他选项卡也将被呈现。

所以不是“只有在呈现 customer_options 选项卡时才呈现 bundle_item 选项卡”,而是“每当 bundle_item 选项卡或 customer_options 选项卡已呈现,请同时呈现另一个选项卡。

虽然我不确定我喜欢影子这个比喻。

关于php - Magento 的 UI 对象层次结构中的阴影选项卡是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6130069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com