Das beliebte Shopsystem Magento bietet die Möglichkeit, Bestellungen auch manuell im Backend aufzugeben. Diese Funktion ist besonders für Unternehmen geeignet, die Bestellungen auch per Telefon aufnehmen. Möchte man dafür eine extra Zahlungsart nutzen, die Kunden bei einer Bestellung im Online-Shop nicht sehen sollen, stößt man allerdings schnell an die Grenze des Machbaren. Wir zeigen Ihnen, wie Sie dennoch eine Zahlungsart nur für das Backend freischalten können.

Wo finde ich die Einstellungen dafür in Magento?

Leider bietet das Shopsystem selbst im Backend keine Möglichkeit, den Ausgabeort von Zahlungsarten zu bestimmen. Dafür müssen Sie eine Anpassung im Code des Zahlungsmoduls vornehmen. Aber keine Angst, es handelt sich dabei nur um eine kleine Änderung.

Wie kann die Zahlungsart angepasst werden?

Jede Zahlungsart, die in einem Magento Shop integriert ist, sei es als extra Plugin oder als Core-Funktionalität, erweitert in jedem Fall die Klasse Mage_Payment_Model_Method_Abstract und kann deshalb auch auf folgende Klasseneigenschaften zugreifen:

$_canUseInternal
$_canUseCheckout

Während $_canUseInternal angibt, ob die Zahlungsart für manuelle Bestellungen im Backend genutzt werden kann, ist $_canUseCheckout dafür zuständig, dass die Zahlungsart für die Kunden im Frontend angezeigt werden darf. Diese Eigenschaften müssten also für die entsprechende Zahlungsart angepasst werden.

In welchem Verzeichnis finde ich die Zahlungsarten?

Der folgende Pfad soll als Beispiel für die Zahlungsart „Vorkasse“ dienen: „/app/code/core/Mage/Payment/Model/Method/Banktransfer.php“.

Damit Ihre Änderungen Updatefähig bleiben, empfiehlt es sich jedoch, die Klasse der Zahlungsart vorher in das entsprechende lokale Verzeichnis zu kopieren: „/app/code/local/Mage/Payment/Model/Method/Banktransfer.php“.

Durchführung der Änderung

Öffnen Sie die kopierte Datei mit einem Editor und ergänzen Sie die Klasse um folgende Eigenschaften:

protected $_canUseInternal = true;
protected $_canUseCheckout = false;

Speichern Sie die Datei und laden Sie diese zurück auf den Server, falls dies noch nicht passiert ist. Vergessen Sie auch nicht den Cache zu leeren, damit die Änderung überall korrekt angezeigt wird. Hat alles funktioniert, wird diese Zahlungsart dem Kunden im Frontend nun nicht mehr zur Auswahl angeboten. Bei der Aufgabe einer Bestellung im Backend sollte die Zahlungsart nun allerdings zur Verfügung stehen.

Mit anderen Zahlungsarten können Sie genau so verfahren. Ändern sie die genannten Eigenschaften einfach nach Belieben ab und erstellen Sie somit z.B. Zahlungsarten, die Sie für die telefonische Aufnahme von Bestellungen verwenden können. Wir wünschen Ihnen viel Erfolg.

Lesen Sie auch:

Magento: Neue Sicherheitslücke gefährdet tausende ... Kürzlich wurde bekannt, dass es eine neue Sicherheitslücke in der beliebten Shopsoftware Magento gibt, die schon seit Monaten ausgenutzt werden kann. Bis jetzt ist noch kein Patch verfügbar, der diese Lücke schließt. Lesen Sie hier, wie Sie sich schü...
Magento 2 – Alle Neuerungen im Überblick Am 17. November wurde Version 2 der erfolgreichen Shopsoftware Magento offiziell vorgestellt. Mit der Magento Enterprise Edition 2.0 und der Magento Community Edition 2.0 steht die neue Version weiterhin in zwei Varianten für Endnutzer bereit und ka...
Magento: Neue Sicherheitslücke im Zend Framework g... In den immer noch weit verbreitenen Versionen 1 und 2 des Zend Frameworks, welches auch dem beliebten Shopsystem Magento zugrundeliegt, wurde eine weitere kritische Sicherheitslücke gefunden. Nutzt ein Angreifer diese Schwachstelle aus, kann er eigen...
Magento 1.9.1 CE veröffentlicht – was ist ne... Gut ein halbes Jahr nachdem die Magento Version 1.9.0 veröffentlicht wurde, hat man nun die Magento Version 1.9.1 veröffentlicht. Es ist zu erwarten, dass es nicht mehr so viele Updates gibt, bevor voraussichtlich 2015 die Version 2.0 von Magento ver...