2
เหตุใดผลรวมการจัดส่งจึงตั้งค่า row_weight ของรายการเสนอราคาขายเป็น 0 หากการจัดส่งฟรีมีผล
คำนำ: สิ่งนี้มีไว้เพื่อใช้เป็นทั้งการสังเกตการเขียนของสถาปัตยกรรมวีโอไอพีสำหรับชุมชน (และตัวฉันเอง) เช่นเดียวกับคำถามจริง เรากำลังทำงานร่วมกับตะกร้าสินค้าที่มีการเปลี่ยนแปลงอย่างมากและประสบการณ์การชำระเงิน แต่สาเหตุของปัญหานี้อยู่ในตรรกะหลักของ Magento พื้นหลัง เราได้สร้างคูปองการจัดส่งฟรีโดยใช้ฟังก์ชันราคากฎตะกร้าสินค้ามาตรฐาน มีเงื่อนไขที่ไม่มีในคูปองที่มีและการดำเนินการเพียงว่ามีการตั้งค่าFree Shipping For matching items onlyเนื่องจากไม่มีเงื่อนไขจึงจะตั้งค่าfree_shippingเป็น1สำหรับทุกรายการที่ขายใบเสนอราคา ตามธรรมเนียมเรายังเปิดใช้งานวิธีการจัดส่งฟรี Freeshippingรูปแบบผู้ให้บริการจะให้อัตราเมื่อใดก็ตามที่มีการร้องขอการจัดส่งฟรีหรือตรงกับผลรวมย่อยหรือเกินเกณฑ์ ( แต่เราไม่ได้ใช้ตัวเลือกการเกณฑ์) ดูMage_Shipping_Model_Carrier_Freeshipping::collectRates: $this->_updateFreeMethodQuote($request); if (($request->getFreeShipping()) // <-- This is the condition we're relying on || ($request->getBaseSubtotalInclTax() >= $this->getConfigData('free_shipping_subtotal')) ) { /* Snip: Add $0.00 method to the result */ } และMage_Shipping_Model_Carrier_Freeshipping::_updateFreeMethodQuoteมีลักษณะเช่นนี้: protected …