Salah satu klien kami telah meminta kemampuan personel entri pesanan untuk mengirimkan pesanan dengan total pesanan negatif. Aplikasi sudah memungkinkan item baris negatif, yang berfungsi dengan baik selama sisa pesanan membuat Total Total positif.
Tampaknya Magento berusaha sangat keras untuk tidak memiliki total pesanan negatif. Melihat total yang dikumpulkan menunjukkan bahwa Magento akan menerapkan kartu hadiah untuk jumlah terbalik. Jika saya menonaktifkan kartu hadiah, maka itu berlaku Kredit Toko (bahkan jika kredit tidak ada). Saya menduga ini hanya kekhasan (dan mungkin herring merah).
Adakah yang bisa membantu menentukan di mana Magento memaksa 0 sebagai jumlah Grand Total maksimumnya, dan bagaimana kita bisa memenuhi permintaan? Saya tidak ingin begitu saja mengatur total, karena saya ingin Magento menghitung semuanya secara normal, hanya dengan penyisihan Total Total negatif.
Semangat pertanyaannya adalah kelayakan teknis, tetapi begitu hal itu diatasi, saya tertarik pada 'gotcha' atau pemikiran apa pun yang dapat menghalangi penggunaan total urutan negatif dari sudut pandang non-teknis.
sumber
Jawaban:
Ini sepertinya keputusan yang sangat berisiko. Jika Anda menerapkannya, Anda perlu mengganti inti terlalu banyak, membuat situs ini sangat sulit untuk ditingkatkan dan didukung.
Melakukan pencarian di inti Magento untuk mendapatkan
max(0
hasil di bidang berikut:Enterprise_CustomerBalance_Model_Observer::creditmemoDataImport()
Enterprise_GiftCard_Model_Catalog_Product_Price_Giftcard::getFinalPrice()
Mage_Bundle_Model_Product_Price::getFinalPrice()
Mage_Catalog_Model_Product_Type_Price::getFinalPrice()
Mage_Catalog_Model_Product_Type_Configurable_Price::getFinalPrice()
Mage_Catalog_Model_Product_Type_Grouped_Price::getFinalPrice()
Mage_CatalogRule_Helper_Data::calcPriceRule()
Mage_Downloadable_Model_Product_Price::getFinalPrice()
Mage_SalesRule_Model_Validator::process()
Mage_Tax_Block_Sales_Order_Tax::_initSubtotal()
Mage_Tax_Model_Sales_Total_Quote_Tax (multiple uses)
Dan masih banyak lagi di templat di adminhtml dan area frontend. Anda mungkin perlu menulis ulang banyak model ini untuk mencapai fungsionalitas yang diinginkan.
Anda mungkin ingin mempertimbangkan alternatif di bawah ini:
Jika Anda memberikan skenario di mana pesanan akan berakhir dengan jumlah negatif, dan juga alasan di baliknya maka komunitas akan dapat memberi Anda jawaban yang lebih baik. Sulit untuk menyelesaikan masalah seperti ini sampai Anda memahami nilai bisnis di balik keputusan tersebut.
sumber