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.
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.
Das hört sich doch gut an!