2016-07-12 3 views
0

ich bin Auftrag, programmatisch in Magento während der Verwendung Multi-Versand-Checkout. Alles funktioniert gut i am Punkt stecke ich zwei Methoden Versand"Bitte geben Sie eine Versandart an." während die Bestellung programmgesteuert magento

Flat Rate

Matrixrate

wenn ich wählen flatrate Aufträge erstellen und alles ist in Ordnung bin mit, aber wenn ich wähle matrixrate funktioniert nicht und gibt mir Fehler

Bitte geben Sie eine Versandart an.

da diese Funktion

getShippingRateByCode

kehrt hier falsch den Code in dieser Funktion ist

public function getShippingRateByCode($code) 
{ 
    foreach ($this->getShippingRatesCollection() as $rate) { 
     if ($rate->getCode() == $code) { 
      return $rate; 
     } 
    } 
    return false; 
} 

Ich habe das das Verfahren in $ Code gefunden ist Matrixrate aber in $ rate-> getCode() die Methode ist Flatrate das ist, warum, wenn nicht funktioniert. können Sie mir bitte sagen, warum $ rate-> getCode() Flatrate haben, auch wenn ich Matrixrate wähle.

Antwort

-1

Ich habe eine einzige Versandart „test_methode“ hinzufügen, wie unten:

$shippingAddress = $quote->getShippingAddress()->addData($shipingAddress); 
$shippingAddress->setCollectShippingRates(true)->collectShippingRates()->setShippingMethod('test_methode'); 

Kann dies Ihnen helfen können.

Verwandte Themen