Ich kann eine Bestellung erfolgreich in ein Angebot umwandeln, aber ich konnte sie immer noch nicht in den aktuellen Warenkorb laden. Ich habe verschiedene Methoden ausprobiert, aber ohne Erfolg. Hier ist die einfachste:
$_quote = Mage::getModel('sales/convert_order')->toQuote($order)->save();
$_quote = Mage::getModel('sales/quote')->load($_quote->getId());
$_quote->setIsActive(true)->save();
Ich konnte die Angebots-ID abrufen, aber das Angebotsobjekt wird nicht in den aktuellen Warenkorb geladen.
Ich habe es auch versucht
$_quote = Mage::getModel('sales/convert_order')->toQuote($order)->save();
$_quote = Mage::getModel('sales/quote')->load($_quote->getId());
if ($_checkoutQuote->getId() != $_quote->getId() && $_quote->getId()) {
$_checkoutQuote->merge($_quote)->save();
Mage::getModel('checkout/session')
->setQuote($_checkoutQuote)
->init();
Mage::getSingleton('checkout/session')->getQuote()->setIsActive(true)->save();
}
und ähnliche Ansätze, aber immer noch nicht das Zitat laden. Vielen Dank!
quelle
Die vorherige Antwort funktioniert nur, wenn das Angebot noch in der Datenbank verfügbar ist. Ich bin auf eine Situation gestoßen, in der dies nicht mehr der Fall war, sodass dieser Code nicht funktioniert:
Stattdessen können wir
Mage_Sales_Model_Convert_Order
mit dertoQuote(Mage_Sales_Model_Order $order)
Methode eine vorhandene Bestellung wieder in ein neues Angebot umwandeln . Es nimmt eine Bestellung als Eingabe entgegen und gibt ein neues Angebotsobjekt aus.Sie müssen zusätzliche Funktionen zum Konvertieren der Rechnungs- / Versandadresse, Artikel usw. aufrufen. Für jedes Objekt finden Sie eine Funktion in dieser Klasse.
quelle