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 CronJob Fehler In den vergangenen Tagen haben wir bei einem unserer Kunden ein Problem im Zusammenhang mit dem Magento Cronjob (cron.php) festgestellt. Aus irgend einem uns bis dahin unbekannten Grund ist der Cron nicht durchgelaufen. Dies hat in der Folge zu vie...
Magento Sicherheits Updates einspielen/installiere... Möchten Sie Sicherheitsupdates für einen Magento Shop installieren und kommen nicht weiter? Haben Sie Probleme bei der Installation oder Fragen zum Patch-Vorgang? Wir zeigen Ihnen wie Sie Magento Patches mit und ohne SSH Zugang, aber auch im Rahmen e...
PayPal nach Magento Update nicht mehr auswählbar Falls Sie kürzlich Ihren Magento Shop auf eine aktuelle Version geupdated haben und nun die Zahlungsart PayPal im Checkout nicht mehr funktioniert, haben wir hier die Lösung für Sie. Wir zeigen Ihnen, welche Änderungen Sie in der Administrationsoberf...
Achtung: Neue Sicherheitslücken in Magento Wie am Dienstag, dem 16. April 2015, bekannt wurde, gibt es neue Sicherheitslücken in der beliebten Shop-Software Magento. Es handelt sich hier um sogenannte remote code execution exploits, welche Angreifer dazu befähigen, Schadcode auf Ihrem Webserv...