2011-10-18 9 views
5

Una pregunta muy simple con (apuesto) una respuesta muy simple ... Quiero eliminar una de las pestañas de información del producto de la página de vista de mi producto. Quiero eliminar la pestaña que muestra los atributos, pero en lugar de comentarla en catalog.xml, quiero eliminarla correctamente a través de local.xml.Magento - Quite la pestaña de la vista del producto usando 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> 

pensé que puede haber un método removeTab, pero eso no funcionó. También hay method = "unsetChild", pero no puedo ver cómo apuntaré a ese elemento específico ya que no hay un nombre definido en el XML.

Cualquier idea sería muy apreciada.

+0

No puede hacerlo en 'local.xml'. El xml local no pertenece a los archivos de actualización de diseño. – Zyava

+0

Me refiero al local.xml creado para temas personalizados, que se usa para actualizaciones de diseño. –

+0

Lo siento, no sabía que los temas personalizados también tienen el archivo local.xml. – Zyava

Respuesta

10

Basado en mi lectura de Mage_Catalog_Block_Product_View_Tabs::addTabs(), usted debe ser capaz de eliminar el bloque de que se queden con uno de los siguientes:

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

O:

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

La razón por la que creo que éstos funcionará es que addTab() simplemente toma los argumentos y los usa para crear una instancia de bloque como elemento secundario del bloque padre de la pestaña.

El comentario de Zyava es incorrecto, como supongo que usted sabe. Existe una diferencia entre la aplicación/etc/local.xml (un archivo de configuración) y el archivo local.xml cargado explícitamente desde su configuración de diseño.

+0

Gracias Ben, funciona perfectamente. –

2

estoy usando mi el módulo de disposición adminhtml XML para añadir o eliminar pestañas (que podría utilizar local.xml de su tema, sobre la base de estos pasos con un poco de tweakking.)

primer lugar tendrá que declarar su cambios de diseño (en el módulo de config.xml) como las siguientes:

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

Luego, en mymodule.xml, agregue el siguiente (en este caso, estoy usando el mango de administración página de vista de orden)

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

Espero que esto ayude !! (No olvide votar esta solución)

Cuestiones relacionadas