2011-10-18 52 views
5

一個非常簡單的問題(我打賭)一個非常簡單的答案...我想從我的產品視圖頁面中刪除一個產品信息選項卡。我想刪除顯示屬性的選項卡,而不是在catalog.xml中註釋它,我想通過local.xml正確刪除它。Magento - 使用local.xml從產品視圖中刪除選項卡

<action method="addTab" translate="title" module="catalog"> 
<alias>additional</alias><title>Additional Information</title> 
<block>catalog/product_view_attributes</block> 
<template>catalog/product/view/attributes.phtml</template> 
</action> 

我認爲有可能是一個removeTab方法,但沒有奏效。還有method =「unsetChild」,但我看不到如何定位該特定元素,因爲XML中沒有定義的名稱。

任何想法將不勝感激。

+0

您不能在'local.xml'中執行此操作。本地xml不屬於佈局更新文件。 – Zyava

+0

我指的是爲自定義主題創建的local.xml,用於佈局更新。 –

+0

對不起,不知道自定義主題也有local.xml文件。 – Zyava

回答

10

根據我的Mage_Catalog_Block_Product_View_Tabs::addTabs()閱讀,你應該能夠從下面的一個被渲染刪除塊:

<!-- language: xml --> 
<catalog_product_view> 
    <reference name="product.info.tabs"> 
     <action method="unsetChild"> 
      <child>additional</child> 
     </action> 
    </reference> 
</catalog_product_view> 

或者:

<catalog_product_view> 
    <remove name="additional" /> 
</catalog_product_view> 

,我相信這些原因將工作的是,addTab()只需要參數並使用它們來創建塊實例作爲選項卡父塊的子項。

Zyava的評論是不正確的,因爲我假設你知道。應用程序/ etc/local.xml(配置文件)與設計設置中顯式最後加載的local.xml之間存在差異。

+0

感謝本,它的作品完美。 –

2

我用我的模塊adminhtml佈局XML來添加或刪除選項卡(你可以使用你的主題local.xml中,基於這些步驟有點tweakking的。)

首先,你需要聲明你佈局更新(在模塊的config.xml)像下面這樣:

<adminhtml> 
    <layout> 
     <updates> 
      <mymodule> 
       <file>mymodule.xml</file> 
      </mymodule> 
     </updates> 
    </layout> 
</adminhtml> 

然後在mymodule.xml,添加以下(在這裏,我使用的是管理員才能查看頁面句柄)

<adminhtml_sales_order_view> 
    <reference name="sales_order_tabs"> 
     <action method="removeTab"> 
      <name>order_shipments</name> 
     </action> 
     <action method="addTabAfter"> 
      <name>order_shipments_mymodule</name> 
      <block>mymodule/adminhtml_order_shipments</block> 
      <after>order_creditmemos</after> 
     </action> 
     <action method="addTab"> 
      <name>order_receipts</name> 
      <block>mymoduled/adminhtml_order_recp</block> 
     </action> 
    </reference> 
</adminhtml_sales_order_view> 

希望這有助於! (不要忘記調高此解決方案)