2
Magento 2 checkout - เพิ่มฟิลด์ที่กำหนดเองระหว่างที่อยู่สำหรับจัดส่งและวิธีการจัดส่ง
ฉันกำลังพยายามเพิ่มฟิลด์ที่กำหนดเองระหว่างที่อยู่สำหรับจัดส่งและส่วนวิธีการจัดส่ง และฉันต้องการให้ค่าของเขตข้อมูลนี้ถูกจัดเก็บทั้งในquoteและsales_orderตารางในท้ายที่สุด นี่คือสิ่งที่คล้ายกับการเพิ่มฟิลด์ "ความคิดเห็นการสั่งซื้อ" แต่ฟิลด์นี้ควรปรากฏขึ้นทันทีหลังจากส่วนที่อยู่จัดส่งและก่อนที่ส่วนวิธีการจัดส่ง ฉันผ่านคู่มือวีโอไอพี dev เกี่ยวกับวิธีเพิ่มฟิลด์ที่กำหนดเองและแบบฟอร์มที่กำหนดเองเพื่อการชำระเงินและนำโซลูชันไปใช้ในระดับหนึ่ง สิ่งที่ฉันทำไปแล้ว: อัปเดตcheckout_index_index.xmlเค้าโครงแล้วเพิ่มใหม่uiComponent(คอนเทนเนอร์) ใต้รายการ "shippingAddress" เพิ่มองค์ประกอบ (ฟิลด์) ฉันต้องการภายในคอนเทนเนอร์ แทนที่/js/view/shipping.jsและshipping.phtmlในโมดูลที่กำหนดเองของฉัน เรียกใช้คอนเทนเนอร์ที่ทำด้านบนภายในshipping.phtmlระหว่างที่อยู่สำหรับจัดส่งสินค้าเช็คเอาท์และวิธีการจัดส่ง (สิ่งที่คล้ายกับการเพิ่มฟอร์มแบบคงที่ใหม่) ตอนนี้เขตข้อมูลที่ฉันต้องการถูกแสดงบนการชำระเงิน onepage ตรงตามที่ฉันต้องการ แต่ฉันได้พบกับปัญหาด้านล่าง วิธีเข้าถึงค่าของฟิลด์ที่กำหนดเองที่ฉันเพิ่มไว้ด้านบน ฉันพยายามบันทึกค่าลงในแอตทริบิวต์ส่วนขยาย shippingAddress ฉันเพิ่มมิกซ์อินเข้าไปsetShippingInformationActionด้านในซึ่งพยายามทำด้านล่าง shippingAddress['extension_attributes']['custom_field'] = shippingAddress.customAttributes['custom_field']; shipping-address-fieldsetแต่โค้ดข้างต้นจริงล้มเหลวตั้งแต่องค์ประกอบไม่ได้อยู่ใน ฉันอาจได้รับค่าผ่านwindowองค์ประกอบ แต่มีวิธีเข้าถึงผ่านวีโอไอพีหรือไม่? มีวิธีการบันทึกค่าขององค์ประกอบนี้ในการจัดเก็บแคชท้องถิ่น ( Magento_Checkout/js/checkout-data) ดังนั้นค่าจะยังคงอยู่แม้หลังจากรีเฟรชหน้า?