Im Magento Admin-Panel erreicht man bekanntlich unter “Kunden->Kunden verwalten” das so genannte Customer Grid wo in Tabellenform die wichtigsten Kundendaten zum Zweck der Übersicht, der Bearbeitung und natürlich nicht zuletzt der Sortierung aufgelistet werden.

Standardmäßig steht innerhalb dieser Tabelle die Spalte “Name” bereit was nicht unbedingt immer so Sinn macht. Im B2B-Bereich etwa wäre das Feld “Firma” an dieser Stelle deutlich interessanter wie der Name des Kunden.

Ich zeige Ihnen im folgenden Beitrag wie Sie das Magento Customer-Grid so anpassen können um die Spalte “Name” gegen “Firma” umzutauschen – dabei bleiben alle Funktionalitäten wie die Filterung & Verlinkung zur Bearbeitung der jeweiligen Kundendaten erhalten.

Inspiriert hat mich zu diesem Vorhaben der Vortrag vom Magento Community Partner TECHDIVISON zum Thema “Magento als Entwicklungsframework” bei der letzten Meet Magento Veranstaltung am 02.11.2009 in Frankfurt am Main.

Im Vortrag wurden sehr gute Beispiele aufgezeigt, wie man mit verhältnissmäßig wenig Aufwand die Grids im Magento Admin-Panel durch setzen eigener Akzente erweitern kann. Vielen Dank an dieser Stelle für den echt guten Vortrag!!! :-)

Daraus resultierte auch der kürzliche Umbau unserer Extension Mxperts – NoRegion die seit der Version 0.1.3 dahingehend umstrukturiert wurde, das nun im Kunden-Grid die Spalte “Bundesland bzw. Kanton” ausgeblendet wird.

Da wir nicht unbedingt das Rad neu erfinden müssen, werden wir diese erhältliche Extension verwenden um zu demonstrieren wie schnell & unkompliziert aus “Name” die Spalte “Firma” wird.

Beachten Sie bitte das diese Abänderung keinesfalls Updatesicher ist & Veränderungen nach einem Update von NoRegion wieder neu gesetzt werden müssen!

Ab Version 0.1.4 besitzt Mxperts – NoRegion bereits die Vorbereitung für den kleinen Umbau. Stellen Sie daher bitte sicher das mindestens diese Version installiert ist.


Ich wähle diesen Weg weil der Aufwand für eine eigene Extension sich hier wirklich nicht lohnt. Es aber aus meiner Sicht gleichwohl ein oft gewünschtes Feature ist.

Standardmäßig sollte Ihr Kunden-Grid nach der Installation von NoRegion so aussehen (inkl. der Spalte “Name”):
name

Nun soll aus dieser Spalte “Firma” werden – gesagt getan, wir begeben uns in die Datei
app/code/local/Mxperts/NoRegion/Block/Customer/Grid.php

In Zeile 33 entfernen wir die Kommentierung aus der eigens dafür eingepflegten Zeile, so dass diese so aussieht:

->joinAttribute('billing_company', 'customer_address/company', 'default_billing', null, 'left')

Danach kommentieren wir die 4. Anweisung innerhalb von
“protected function _prepareColumns()” aus, so das es nicht mehr zur Ausgabe von der Spalte “Name” kommt:

/*$this->addColumn('name', array(
   'header'    => Mage::helper('customer')->__('Name'),
   'index'     => 'name'
)); */

Nun brauchen wir nur noch im Gegenzug die Kommentare von der vorbereiteten Spalte “Firma” entfernen & die Datei abspeichern:

//Our New Column for Company
$this->addColumn('billing_company', array(
   'header'    => Mage::helper('sales')->__('Company'),
   'index'     => 'billing_company'
));

Sofern die Caches aktualisiert bzw. deaktiviert sind, sollte unsere neue Darstellung in der Kundenverwaltung nun so aussehen:

firma

Ich könnte mir vorstellen das man andere Übersichten im Magento Admin-Panel ähnlich schnell auf seine individuelle Anwendung abstimmen kann.

Viel Spaß mit Ihrem neuen B2B Kunden-Grid oder eben ähnlichen Anpassungen!

Daniel Sasse