Layout-Updates über die local.xml

Magento bietet die Möglichkeit über sein Layout-XML die einzelnen Blöcke nachträglich zu aktualisieren. Dabei kommt es natürlich darauf an das die eigenen Änderungen möglichst spät geladen werden damit diese nicht durch Module wieder überschrieben werden können.

Hierzu bietet Magento von Haus aus die Option an eine Datei mit dem Namen local.xml in app/design/frontend//default/layout anzulegen. Die Layout-Updates dieser Datei werden dabei zum Schluss geladen. Die Datei kann z.B. genutzt werden um einige unnötige Blöcke in Magento restlos zu entfernen. Ganz Hoch im Kurs steht dabei sicherlich der 1800-Callout Block - der muss einfach weg :)

<?xml version="1.0"?>
<layout version="0.1.0">

	<default>
	        
	        <reference name="right">
	            
	            <!-- Mage_Poll enfernen -->
	            <remove name="right.poll" />                          	
	       
	       		<!--  Paypal Werbung -->
	       		<remove name="paypal.partner.right.logo" />
	       			       		
	       		<!-- Callouts: Oder auch der 1800 Werbeblock raus -->
	       		<remove name="right.permanent.callout" />
	       		
	       		<!-- Mage_Reports raus: Kürzlich angesehe Produklte -->
	            <remove name="right.reports.product.viewed" />
	            <remove name="right.reports.product.compared" />
	       
	        </reference>
	        
	        <reference name="left">
	        	
	        	<!-- Callouts raus -->
	        	<remove name="left.permanent.callout" />
	        	
	        	<!--  Tags raus -->
	        	<remove name="tags_popular"/>
	        	
	        </reference>
	        
	</default>   

	<checkout_cart_index>
        
        <!-- Versandkosten schätzen im Warenkorb raus -->
        <remove name="checkout.cart.shipping" />
        
        <!-- Multishipping raus -->
        <remove name="checkout.cart.methods.multishipping" />
        
    </checkout_cart_index>  
        
</layout>

Bitte die local.xml im Theme Order nicht mit der local.xml in app/etc verwechseln. Das sind zwei völlig unabhängige Dateien.



Ein Beitrag von Tobias Vogt
Tobias's avatar

Tobias Vogt arbeitet seit 2008 mit Magento und ist seit 2011 durch Magento zertifizierter Entwickler. Seit 2016 ist er Mitgründer und CTO bei der connect-io GmbH, einer Magento-Agentur mit Sitz im idyllischen Paderborn-Salzkotten. Er gehört zum Gründer-Team der Webguys und ist seit November 2011 Bachelor of Science (Wirtschaftsinformatik). Sie erreichen Ihn per E-Mail unter tobi@webguys.de.

Alle Beiträge von Tobias

Kommentare
Frank am

Kann mir vielleicht jemand erklären wie sich dieser Ausdruck zusammensetzt? Denn ein Pfad kann es ja nicht sein, denn es gibt den Pfad: paypal/partner/logo.phtml. ich bin ja relativ sicher, dass es sich auf diese logo.phtml bezieht. Aber wie kommt das "right" ins Spiel?

Tobias Vogt am

Nur zur Vorsicht: Du verwendet aber NICHT die local.xml in app/etc oder? Kann mir leider gerade nicht erklären warum es nicht geht.

Wir verwenden mittlerweile eigentlich nur noch die Lösung über eine eigene Extension wie unter http://www.webguys.de/magento/ein-magento-theme-erstellen/ beschrieben :)

Phewen am

Ich hab Magento 1.5. Magento-Cache ist deaktiviert!

Also bei der Testumgebung bei Mittwald funktioniert die Datei. Aber auf eigenem Server nicht. Auch nicht bei ner frischen Installation.

Tobias Vogt am

Die local.xml wird erst ab Magento 1.4 unterstützt. Verwendest du eine aktuelle Version? Ist der Cache deaktiviert?

Phewen am

Hallo! Also auf einer nigelnagelneuen Testumgebung funktioniert das einwandfrei! Auf einem Systhem auf dem schon gearbeitet wurde leider nicht :( Woran könnte das liegen? Die local.xml scheind garnicht eingebunden zu werden. Danke!

Türchen 13: Eigene Layout-Handles | Magento eCommerce, Webshop, Reddot - webguys.de am

[...] Theme haben – es also aktualisieren können. Einige Beispiele dazu gibt es in unserem Artikel zu Layout-Updates mittels local.xml. Jeder Controller besitzt quasi sein eigenes Layout-Handle dessen Aufbau in der Regel [...]

Dein Kommentar