11
我在周圍的Magento內部,並在Widget/Tab呈現層次結構中有這個陰影標籤的概念,我有點模糊。當你定義表單標籤,可以綁定它作爲一個陰影選項卡什麼是Magento的UI對象層次中的陰影選項卡?
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});
}
},
從基本閱讀來看,我不完全清楚使一個標籤「依賴」另一個標籤的含義是什麼。這是一個簡單的「只呈現bundle_item
選項卡,如果customer_options
標籤被渲染?或者更多的東西?
不知道我會將這稱爲答案,但與您所說的不同,如果您加載具有影子選項卡的選項卡,影子選項卡將自動加載。因此,不必顯式加載標籤A,B,C,只需加載A和B,就可以爲您加載C?快速瀏覽一下就是猜測。 – 2011-05-26 13:32:56