2
Magento 2 - วิธีเพิ่มฟิลด์ที่กำหนดเองเพื่อชำระเงินและส่งไป
บทช่วยสอนทั้งหมดครอบคลุมเฉพาะการเพิ่มเขตข้อมูล แต่การบันทึกค่าของไฟล์นี้ถูกข้าม #mindblown ฉันไม่รู้ว่าทำไมมันเป็นส่วนที่สำคัญที่สุดในการเพิ่มฟิลด์หรือฟอร์มใด ๆ ฉันพยายามติดตามMagento docsแต่ ... มันแย่มาก สำหรับวัตถุประสงค์ในการทดสอบฉันพยายามเพิ่มเขตข้อมูลอื่นลงในที่อยู่สำหรับจัดส่งเพียงเพื่อละเว้นขอบเขตที่กำหนดเองชุดข้อมูลที่กำหนดเองผู้ให้บริการข้อมูลที่กำหนดเองและสิ่งอื่น ๆ ที่ไม่มีเอกสารซึ่งดูแปลกเกินไปสำหรับฉัน ฉันไม่รู้ว่าแบบฟอร์มนั้นหมายถึง "คงที่" หรือ "ไดนามิก" สำหรับฉันแบบฟอร์มเช็คเอาต์ทั้งหมดจะถูกสร้างขึ้นแบบไดนามิกที่ด้านบนของเทมเพลต KnockoutJS แต่ ... เมื่อฉันลองใช้วิธี "คงที่" ฉันสามารถเพิ่มอินพุตที่นี่ (ดังนั้นจึงเป็นรูปแบบคงที่หรือไม่?) ครั้งแรกฉันพยายามที่จะแก้ปัญหาว่าทำไมสิ่งที่น่าพิศวงสังเกตได้เพียงแค่ละเว้นสาขาของฉันในระหว่างการแยกและการส่งข้อมูล ฉันพบว่าฟิลด์ของฉันมีnameพารามิเตอร์ที่ว่างเปล่าแต่ฉันไม่สามารถจัดการวิธีการแก้ไขปัญหานี้ได้ IMO มันควรจะส่งผ่านไปยัง UI renderer องค์ประกอบผ่านinputNameพารามิเตอร์เดียวกับตัวเลือกอื่น ๆ เช่นdisabled, placeholderฯลฯ (พารามิเตอร์อื่น ๆ ทำงานได้ดีฉันจะตรวจสอบการตั้งค่าที่เกิดจาก XML ของฉันที่จะเริ่มต้นโมดูลเช็คเอาท์และดูดีสำหรับฉัน) อันดับที่สองฉันพยายามใช้วิธี "ไดนามิก" ด้วยการสร้างปลั๊กอินด้วยLayoutProcessorและส่งผ่านข้อมูลเดียวกันทั้งหมด ... และตอนนี้ฉันมีฟิลด์ที่มีnames แต่การส่งยังไม่ทำงานเลย หลังจากที่ขุดลงใน JS ฉันพบว่าการเตรียมคำขอนี้ถูกเก็บรักษาไว้ในmodule-checkout/view/frontend/web/js/model/shipping-save-processor/default.jsไฟล์ซึ่งขึ้นอยู่กับmodule-checkout/view/frontend/web/js/model/quote.jsว่ามีการกำหนด / สร้างสิ่งที่น่าสังเกตที่น่าพิศวง …