Produk toko dipasok dari vendor yang berbeda. Anda harus membuat beberapa pesanan untuk setiap vendor berdasarkan produknya di troli selama satu checkout. Apakah ada ekstensi untuk menyelesaikan tugas ini atau haruskah saya mulai mengembangkan modul checkout kustom. Bagaimana dengan hot point untuk menciptakan visi perluasan seperti itu dari pengembang Magento yang berpengalaman? Bisakah Anda jelaskan saya arsitektur aliran checkout singkat yang ramah Magento (mungkin level kode)? Terima kasih banyak lagi!
checkout
code
order-splitting
mageUz
sumber
sumber
Jawaban:
Ini bisa dilakukan dengan cukup mudah dengan menulis ulang
checkout/type_onepage
model.Di kelas itu timpa
saveOrder()
metode sebagai berikut:Namun ketahuilah bahwa di Magento pembayaran dikaitkan dengan faktur, dan setiap faktur dikaitkan dengan pesanan.
Karena itu ini berarti bahwa segera setelah Anda memiliki banyak pesanan, Anda juga akan membagi pembayaran . Jadi ini hanya layak jika metode pembayaran tidak memerlukan interaksi pengguna selama pembayaran.
UPDATE : Jawaban asli yang didelegasikan
parent::save()
harusparent:saveOrder()
. Itu diperbaiki dalam kode contoh sekarang.sumber
saveOrder
masih ada dan aktif di Magento CE 1.9 sama seperti sebelumnya.Berikut ini diuji dalam CE ver 1.9.0.x
PENTING Anda perlu menyesuaikan metode pembayaran untuk mengambil grand total dari penawaran.
sumber
$group[] = $item; // all other items in one order
dapat menyimpan beberapa item per pesanan, Anda dapat dengan mudah memodifikasi sehingga masing-masing vendor memiliki sendiri$group
.$quote->Mage::getModel('sales/quote')->load($lastOrder->getQuoteId())
. Lalu ada banyak total yang dapat Anda ambil$quote
, salah satunya adalah$quote->getGrandTotal()