de_DEus

Magento: Anpassung der Admin-Konfiguration

Grafiken in das Admin-Menü einfügen? Einzelne Menüpunkte hervorheben? Andere Menüpunkte ausblenden, wenn eine bestimmte Konfigurationsoption nicht gesetzt ist? Im Standard von Magento geht all das nicht. Wir zeigen, wie es dennoch gemacht werden kann.

Neue Menüpunkte im Admin-Bereich von Magento werden üblicherweise über die Datei etc/adminhtml.xml hinzugefügt. Das sieht in einem einfachen Beispiel wie folgt aus:

Leider sind die Möglichkeiten etwas eingeschränkt. Daher stellen wir im Folgenden zwei Möglichkeiten der Erweiterung vor:

  • Hinzufügen von CSS-Klassen zu Menüpunkten, um eine individuelle Gestaltung einzelner Menüpunkte zu erzielen
  • Entfernen von Menüpunkten abhängig von der Konfiguration

Für beide Fälle muss die Block-Klasse Mage_Adminhtml_Block_Page_Menu erweitert werden. Entweder ersetzt man die Original-Klasse durch einen Rewrite, oder man tauscht den Layout-Block aus durch einen mit der eigenen Klasse. Das funktioniert über eine Layout-XML-Datei unter app/design/adminhtml/default/default/layout mit dem folgenden Inhalt:

Hier wird also zunächst der alte Block entfernt und anschließend ein neuer mit dem gleichen Namen, aber anderem Blocktyp, hinzugefügt.

Die neue Klasse überschreibt zwei Methoden aus der bestehenden Klasse und fügt jeweils ein paar Zeilen hinzu (hervorgehoben):

  •  Zeile 35-37 sorgt dafür, dass Menüpunkte ausgeblendet werden, für die der passende Konfigurationsbereich “false” zurück gibt (neuer Knoten “ifconfig”)
  • Zeile 45 und 94 sorgen dafür, dass eine konfigurierte CSS-Klasse im Menüpunkt angezeigt wird.

Beispiel:

In Zeile 8 ist eine CSS-Klasse angegeben, die im Menü dann auch so ausgegeben wird.

In Zeile 9 ist wieder definiert, dass der Menüpunkt nur dann angezeigt werden soll, wenn die entsprechende Konfigurationsoption aktiviert ist.

Sie können das Beispielmodul hier herunterladen.

Andreas von Studnitz

Autor: Andreas von Studnitz

Andreas von Studnitz ist Diplom-Informatiker, Magento-Entwickler und Geschäftsführer von integer_net. Seine Schwerpunkte sind Schnittstellenentwicklung, Backendentwicklung, Beratung und Entwicklerschulungen. Seit 2011 ist er Magento Certified Developer, seit 2014 Magento Certified Solution Specialist.

Mehr Informationen

Dieser Beitrag hat 2 Kommentare

  1. […] Andreas von Studnitz zeigt in einem Beitrag auf, wie man im Magento-Backend Einfluss auf das Admin-Menü nehmen kann. Hier wird ein Modul vorgestellt, bei dem man Grafiken einfügen, einzelne Menüpunkte hervorheben oder andere ausblenden kann. Weiterhin werden einzelne Menüpunkte nur bei bestimmten Konfigurationsoptionen anzeigt: Link: http://www.integer-net.de/magento-anpassung-der-admin-konfiguration/ […]

Einen Kommentar hinterlassen