2013-06-05 19 views
21

Jak użyć pliku xml layoutu, aby usunąć już istniejący blok? W szczególności chcę usunąć blok o nazwie "currency" z bloku o nazwie "top.switches". Jest on umieszczony w pliku directory.xml, tak:Magento - usuń blok przy użyciu aktualizacji XML

<default> 
    <reference name="top.switches"> 
     <block type="directory/currency" name="currency" before="store_language" template="directory/currency.phtml"/> 
    </reference> 
    <reference name="head"> 
     <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" /> 
    </reference> 
</default> 

Odpowiedz

36

Istnieją dwa sposoby, aby usunąć blok zdefiniowane w jednym pliku xml układ, przez innego pliku XML:

<default> 
    <reference name="top.switches"> 
     <action method="unsetChild"><name>currency</name></action> 
    </reference> 
</default> 

A sposób zwyczajowo oczekiwać, aby to zrobić:

<default> 
    <reference name="top.switches"> 
     <remove name="currency" /> 
    </reference> 
</default> 

można znaleźć wyjaśnienie poszczególnych elementów układu xml here, ale nie obejmuje metod dostępnych na działanie etykietka. W tym celu należy zajrzeć do aplikacji klasy blokowej/code/core/Mage/Core/Block/Abstract.php, która zawiera wszystkie przydatne funkcje, takie jak unsetChild, unsetCallChild, insert, sortChildren itp.

8

dodaj plik o nazwie local.xml do katalogu układów. następnie w pliku local.xml możesz usunąć dowolny blok za pomocą znacznika "remove". BTW usuń znacznik powinien być pomiędzy „układ” i „default” następnie plik powinien być:

<?xml version="1.0" encoding="UTF-8"?> 
<layout> 
    <default> 
    <remove name="BLOCK_NAME" /> 
    </default> 
</layout> 
+0

I nie sądzę, że to działa w Magento 2.0 już – CarComp

+1

@CarComp Magento 1 i 2 są całkowicie różne platformy z bardzo różne podejścia do układu XML, więc byłbyś poprawny. – Navarr

+0

@CarComp Zdziwiłbyś się, jak bardzo podobne są M1 i M2 w odniesieniu do elementu remove: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html –

Powiązane problemy