2013-06-05 17 views
21

Mevcut bir bloğu kaldırmak için bir layout xml dosyasını nasıl kullanırım? Özellikle, "top.switches" adlı blogun "currency" adlı bloğu kaldırmak istiyorum. Böyle, directory.xml dosyaya eklenen ediliyor:Magento - XML ​​Güncellemeyi Kullanarak Bloğu Kaldır

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

Ve: Başka bir xml dosyası üzerinden tek düzen xml dosyasında tanımlanan bir blok kaldırmak için iki yöntem vardır

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

cevap

36

Eğer geleneksel olarak bunu yapmak için beklenir yolu: çeşitli düzen xml elemanlarının here ilgili bir açıklama, ancak eylem yöntemlerini kullanarak kapsamaz

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

etiket. Bunun için, unsetChild, unsetCallChild, insert, sortChildren, vb. Gibi yararlı işlevlerin her türlü özelliklerine sahip blok sınıfı app/code/core/Mage/Core/Block/Abstract.php dosyasına bakmanız gerekir.

8

düzen dizininize local.xml adlı dosyayı ekleyin. daha sonra local.xml dosyasında "remove" etiketi bulunan herhangi bir bloğu kaldırabilirsiniz. BTW kaldır etiketi "düzen" ve "varsayılan" arasında olmalıdır ardından dosya olmalıdır:

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

Bu artık magento 2.0 – CarComp

+1

@CarComp Magento 1 ve 2 ile tamamen farklı platformlar vardır çalışır sanmıyorum XML düzenine çok farklı yaklaşımlar, bu yüzden doğru olur. – Navarr

+0

@CarComp M1 ve M2'nin, çıkarma elemanı ile ilgili olarak ne kadar çok olduğuna şaşıracaksınız: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/layouts/xml-instructions.html –