Magento – Zahlart für Administrator / Telefonische Bestellung

Wer einen Shop hat, bei dem Kunden auch anrufen können, um Artikel zu bestellen, hat wahrscheinlich auch das Problem, dass es viele Zahlarten gibt, aber wenige, die bei der Erfassung von Bestellungen im Backend nützlich sind.

Es gibt natürlich Nachnahme (meist mit Gebühren versehen) und Vorkasse. Wenn der Kunde aber z.B. mit PayPal zahlen will oder auch per Kreditkarte, dann wird es schon schwieriger. Man kann dem Kunden natürlich sagen “Auf der Bestellbestätigung steht dann Vorkasse, es ist aber PayPal”….ist aber unprofessioniell.

Daher ist eine Zahlart am besten, die NUR im Backend zu sehen ist und nicht im Frontend. Und dann am besten noch eine, die für verschiedene Zahlungen wie Kreditkarte UND PayPal einsetzbar ist, aber dennoch einen guten Eindruck macht.

Wie gehen wir vor?

Wir haben uns die Zahlart “Purchase Order” oder “Abruf aus Auftrag” ausgesucht, die wir ansonsten nicht brauchen. Im ersten Schritt stellen wir also ein, dass diese nur im Backend aber nicht im Frontend = für die Kunden erscheint.

Dazu die Purchaseorder.php aus dem Ordner app\code\core\Mage\Payment\Model\Method\ in den Ordner app\code\local\Mage\Payment\Model\Method\ kopieren (wenn nicht vorhanden, erstellen) und dort zwei Zeilen hinzufügen.

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

So würde dann die “neue” Version aussehen:

class Mage_Payment_Model_Method_Purchaseorder extends Mage_Payment_Model_Method_Abstract
{
    protected $_code  = 'purchaseorder';
    protected $_formBlockType = 'payment/form_purchaseorder';
    protected $_infoBlockType = 'payment/info_purchaseorder';
/** Nur zur Admin Nutzung freigeben */
    protected $_canUseInternal = true;
    protected $_canUseCheckout = false;

    /**
     * Assign data to info model instance
     *
     * @param   mixed $data
     * @return  Mage_Payment_Model_Method_Purchaseorder
     */
    public function assignData($data)
    {
        if (!($data instanceof Varien_Object)) {
            $data = new Varien_Object($data);
        }

        $this->getInfoInstance()->setPoNumber($data->getPoNumber());
        return $this;
    }
}

BildDann kann im Backend auch schon unter System > Konfiguration > Verkäufe > Zahlarten die Zahlart aktiviert werden. Sie sollte dann nicht im Frontend auftauchen.

Der Titel könnte dann z.B: auf “Tel. Bestellung:” geändert werden.

BildAnschließend sieht es dann bei der Backend Auftragserfassung so aus.

Schöner wäre es nun aber, wenn wir “Auftragsnummer” z.B. gegen “Zahlung mit” austauschen würden. Hierfür nehmen wir am einfachsten (Achtung, nicht updatesicher. Wenn also einmal die folgenden Dateien erneuert werden, müssen auch alle Änderungen erneut gemacht werden!) aus dem Ordner app/locale/de_DE die drei Dateien

Mage_Payment.csv
Mage_Sales.csv
Mage_XmlConnect.csv

und suchen nach “Purchase Order Number”. Die Übersetzung ersetzen wir von “Auftragsnummer” bzw. “Auftragsnummer:” zu “Zahlung mit” oder “Zahlung mit:”. Und wenn wir schonmal dabei sind, übersetzen wir gleich noch “Purchase Order”,”Abruf aus Auftrag” neu und zwar z.B. zu “Purchase Order”,”Telefonische Bestellung (Administration)”.

Bild

Spätestens nach einem Cache Reload sollte es in der Backend Bestellanlage dann so aussehen.

BildIn der Bestellbestätigungsemail sieht es dann so aus

Und in der Bestellung selber so

Bild

 

Dem geneigten Betrachter ist wohl aufgefallen, dass hier eine kleine Schlamperei vorliegt. Ich habe mich dann doch für “Telefonische Bestellung” entschieden anstelle von “Tel. Bestellung” und den Doppelpunkt weggelassen.

Genutzt in Magento Version 1.7. Fragen, Kommentare, Vorschläge? Gerne direkt oder als Kommentar.

Published by Covos

Seit 2009 arbeite ich nun intensiv mit Magento. Begonnen habe ich mit der Erstellung und dem Betrieb von B2C-Shops. Ausgeweitet wurde dies durch meine Tätigkeit im Logistik-Sektor. Hieraus entstanden erste spezialisierte B2E-Systeme. Heute arbeite ich tag-täglich mit spannenden B2C-, B2B- und B2E-Projekten und berichte in diesem Blog über Herausforderungen und gebe Insider-Tipps.

2 comments on “Magento – Zahlart für Administrator / Telefonische Bestellung”

  1. Vielen Dank für diesen Workarround, der hat uns sehr geholfen.
    Allerdings hadere ich noch ein wenig bei der Rechnungsdarstellung, da steht dann
    “Zahlungsart: Telefonische Bestellung” besser wäre es ja das hier “Zahlungsart Telefonische Bestellung: (Beahlungsmethode)” oder nur (Bezahlungsmethode” stehen würde.
    Wissen Sie an welcher Stelle man das anpassen muss?

    1. Ich denke, dass man für diesen Fall “Telefonische Bestellung” ersetzen sollte oder einfach weg lässt – das wird am einfachsten sein. Dann kann man in das Freifeld eintragen was man will.

Leave a Reply

Your email address will not be published. Required fields are marked *