2011-10-18 18 views
5

Naprawdę proste pytanie z (założę się) bardzo prostą odpowiedzią ... Chcę usunąć jedną z kart informacji o produkcie z mojej strony widoku produktu. Chcę usunąć kartę, która pokazuje atrybuty, ale zamiast komentować ją w katalogu.xml Chcę ją poprawnie usunąć przez local.xml.Magento - Usuń zakładkę z widoku produktu za pomocą pliku 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> 

Myślałem, że może być metodą removeTab, ale to nie działa. Istnieje również method = "unsetChild", ale nie widzę, w jaki sposób kierowałbym ten konkretny element, ponieważ nie ma zdefiniowanej nazwy w XML.

Wszelkie pomysły będą mile widziane.

+0

Nie można tego zrobić w 'local.xml'. Lokalny xml nie należy do plików aktualizacji układu. – Zyava

+0

Mam na myśli plik local.xml utworzony dla niestandardowych kompozycji, który jest używany do aktualizacji układu. –

+0

Niestety, nie wiedziałem, że niestandardowe motywy mają również plik local.xml. – Zyava

Odpowiedz

10

podstawie mojego czytania Mage_Catalog_Block_Product_View_Tabs::addTabs(), powinieneś być w stanie usunąć blokadę przed wykonane z jednego z następujących powodów:

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

Lub:

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

tego powodu, że wierzę ci zadziała to, że addTab() po prostu pobiera argumenty i używa ich do utworzenia instancji bloku jako elementu potomnego bloku rodzica tabulacji.

Komentarz Zyavy jest niepoprawny, jak zakładam, wiesz. Istnieje różnica między aplikacją/etc/local.xml (plik konfiguracyjny) a jawnie załadowanym plikiem local.xml z ustawień projektu.

+0

Dzięki Ben, działa perfekcyjnie. –

2

używam mojego modułu układu adminhtml xml, aby dodać lub usunąć zakładki (można użyć local.xml swój temat, oparty na tych schodach z odrobiną tweakking.)

Po pierwsze trzeba będzie zadeklarować aktualizacje układ (w module config.xml), jak następuje:

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

Następnie w mymodule.xml, dodać następujące (tu używam uchwyt administrator order zobacz stronę)

<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> 

Mam nadzieję, że to pomoże! (Nie zapomnij o upowszechnieniu tego rozwiązania)

Powiązane problemy