Magento – Dienstleister im Dropdown bei Trackingnummer hinzufügen

Bild

Verschickt man eine Sendung aus dem Magento Shop, kann man über die Versandinformation eine Trackingnummer sowie einen Dienstleister wie DHL, GLS, DPD o.a. hinzufügen.

Hierzu trägt man einfach händisch den Titel und die Sendungsnummer in die beiden Felder ein, da der gewünschte Dienstleister im Dropdown nicht angezeigt wird. Und so hat man jedes Mal den Aufwand des händischen Eintragens.

Warum tauchen die im Backend hinterlegten Versandmethoden nicht im Dropdown auf? Dies kann daran liegen, dass sie nach Ansicht des Systems nicht in der Lage sind eine Trackingnummer zu erhalten. Dies Anzeige und Überprüfung kommt aus der Datei

Tracking.php

welche im Verzeichnis

app/code/core/Mage/Adminhtml/Block/Sales/Order/Shipment/Create

liegt. Dort gibt es den Code

    public function getCarriers()
    {
        $carriers = array();
        $carrierInstances = Mage::getSingleton('shipping/config')->getAllCarriers(
            $this->getShipment()->getStoreId()
        );
        $carriers['custom'] = Mage::helper('sales')->__('Custom Value');
        foreach ($carrierInstances as $code => $carrier) {
            if ($carrier->isTrackingAvailable()) {
                $carriers[$code] = $carrier->getConfigData('title');
            }
        }
        return $carriers;
    }

durch

foreach ($carrierInstances as $code => $carrier) {

wird nun abgefragt, ob es sich um einen Dienstleister handelt, der eine Sendungsnummer erhalten kann. Um dies nun zu umgehen und alle Dienstleister anzeigen zu lassen, wird nun die “if” Funktion entfernt. So verbleibt dann nur noch

    public function getCarriers()
    {
        $carriers = array();
        $carrierInstances = Mage::getSingleton('shipping/config')->getAllCarriers(
            $this->getShipment()->getStoreId()
        );
        $carriers['custom'] = Mage::helper('sales')->__('Custom Value');
        foreach ($carrierInstances as $code => $carrier) {
                $carriers[$code] = $carrier->getConfigData('title');
        }
        return $carriers;
    }

und damit werden dann alle verfügbaren Dienstleister angezeigt (nicht die eine Klammer am Schluss vergessen).

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 – Dienstleister im Dropdown bei Trackingnummer hinzufügen”

  1. Eure Anleitung hat bei mir super funktioniert, sodass ich mir diese Seite direkt als
    Lesezeichen gesetzt habe.

    Die Dienstleister so anzuzeigen verhindert einen Vertipper bei der händischen Eingabe und geht zudem schneller von der Hand als jedes Mal den Name auszuschreiben.

Leave a Reply

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