คำถามติดแท็ก knockoutjs

หมายถึงคำถามที่เกี่ยวข้องกับการใช้ Knockout ใน Magento2

1
ฉันจะทริกเกอร์รหัสให้ทำงานหลังจาก knockoutjs แสดงผลใน adminhtml
UPDATE : คุณสามารถเข้าถึง viewmodels ได้โดยตรง หากคุณต้องการทริกเกอร์โค้ดให้ทำงานหลังจากการเรนเดอร์ให้ใช้ MutationObserver ฉันจะโพสต์รหัสของฉันทันทีที่ฉันมีตัวอย่างการทำงานที่ดี คำถามเดิม: เรามีคำสั่งซื้อทางโทรศัพท์มากมาย ฉันกำลังทำงานกับโมดูลที่เติมข้อมูลอัตโนมัติในผู้ดูแลระบบ -> ลูกค้า -> สร้างใหม่จากโซลูชัน CRM ของเราโดยใช้การโทร webapi / jsonp ด้วยวิธีนี้ข้อมูลในวีโอไอพีไม่ได้สร้างข้อมูลซ้ำซ้อนที่เราได้จัดเก็บไว้ใน 'ฐานข้อมูลหลัก' ของเราแล้ว งานหนึ่งที่ฉันยังต้องทำคือเพิ่มที่อยู่ของลูกค้า สิ่งนี้ดูเรียบง่ายในตอนแรกจนกระทั่งฉันตระหนักว่า knockoutjs + magentojs แสดงทุกสิ่งในแบบฟอร์มลูกค้าได้บล็อกฉันจากการจับองค์ประกอบเทมเพลต ฉันมีเวลาพยายามเก็บชุดเขตข้อมูล (องค์ประกอบการป้อนข้อมูล) หลังจากหลังจากลบที่อยู่ทั้งหมดโดยใช้โปรแกรมและสร้างใหม่ หากคุณสงสัยว่าทำไมฉันถึงทำเช่นนั้นส่วนหนึ่งของรหัสของฉันก็ปรากฏขึ้นและไป "เฮ้คนนี้มีอยู่แล้วคุณต้องการใช้พวกเขาหรือไม่?" และจะลบสิ่งที่คุณพิมพ์ไปแล้วและแทนที่ด้วยข้อมูลที่ถูกต้อง จากนั้นศูนย์บริการตรวจสอบความถูกต้องมัน yadda yadda ฉันจะแบ่งปันรหัสที่ฉันมี แต่มันไม่ทำงานค่อนข้างถูกต้อง FYI สิ่งนี้จะขยายบทคัดย่อเพื่อให้ทันเหตุการณ์ 'onUpdate' อย่ากีดกันฉันเมื่อพยายามเข้าถึงคอลเล็กชันด้านในของรายการคอลเลกชัน ฉันไม่สามารถหาวิธีที่ดีกว่าในการติดตามเหตุการณ์ onUpdate และยังคงดูที่ทุกฟิลด์ ฉันยังเข้าใจอย่างสมบูรณ์ว่ามีอะไรผิดปกติฉันแค่ไม่รู้ว่าจะทำอย่างไร มีอะไรผิดปกติฉันถือว่าองค์ประกอบที่สร้างโดยการเปิดใช้งาน. () …

4
จะระบุเส้นทางของภาพในเทมเพลต HTML ที่น่าพิศวงได้อย่างไร
ฉันพยายามเพิ่มภาพไอคอนในMagento_Paypal/web/template/payment/paypal-express.htmlเทมเพลต web/imagesไอคอนตั้งอยู่ใน ฉันต้องการใช้เทียบเท่ารหัสต่อไปนี้ซึ่งทำงานในแม่แบบ HTML ของอีเมล แต่ไม่ใช่แม่แบบนี้: <img src="{{view url='images/icon-paypal.png'}}"> เนื่องจากตัวแปรปีกกาแบบหยิกไม่ทำงานในแม่แบบ HTML นี้คุณจะอ้างอิงภาพที่มีอยู่ในweb/imagesไดเรกทอรีของชุดรูปแบบได้อย่างไร

2
รับ SKU ผลิตภัณฑ์ใน mini-cart
ฉันต้องการที่จะแสดงผลิตภัณฑ์SKUในรถเข็นขนาดเล็กของเว็บไซต์ Magento 2 แต่ฉันไม่แน่ใจว่าจะใช้KnockoutJSเพื่อดึงข้อมูลผลิตภัณฑ์เพิ่มเติมได้อย่างไร เทมเพลตที่ถูกเรียกใช้อยู่ที่นี่: ผู้ขาย / วีโอไอพี / โมดูลเช็คเอาต์ / view / ส่วนหน้า / เว็บ / แม่แบบ / minicart รายการ / / default.html และมีรหัสเช่น: <strong class="product-item-name"> <!-- ko if: product_has_url --> <a data-bind="attr: {href: product_url}, text: product_name"></a> <!-- /ko --> <!-- ko ifnot: product_has_url --> <!-- ko text: product_name …

2
Magento 2: วิธีการตรวจหาการเปลี่ยนแปลงขั้นตอนการชำระเงิน
ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการตรวจสอบการเปลี่ยนแปลงขั้นตอนในการชำระเงินของ Magento 2 เช่นไปจากรายละเอียดการจัดส่งการชำระเงินหรือในทางกลับกัน ฉันได้ทำบางขุดและvendor/magento/module-checkout/view/frontend/web/js/model/step-navigator.jsฉันสามารถใช้next()ซึ่งไฟที่ปุ่มดำเนินการต่อและnavigateTo()ที่ทำงานเมื่อผู้ใช้คลิกที่ checkoutstep โดยตรง - แต่ทั้งสองวิธีดูเหมือนค่อนข้าง hacky จะต้องมีวิธีการทำความสะอาดในการตรวจสอบการเปลี่ยนแปลงขั้นตอนโดยไม่คำนึงถึงวิธีการ และขั้นตอนใด ฉันหวังว่าจะมีstepChange()ฟังก์ชั่นหรือสิ่งที่คล้ายกันที่จะเกิดไฟไหม้เมื่อมีการเปลี่ยนแปลงขั้นตอนการชำระเงินเกิดขึ้น คำถามของฉัน: วิธีที่ดีที่สุดในการทริกเกอร์ JS ที่กำหนดเองของฉันคืออะไรเมื่อมีการเปลี่ยนแปลงขั้นตอนการชำระเงิน

2
การแทนที่ไฟล์เทมเพลตในธีมของตัวเองโหลดผ่าน JS (Knockout.js)
เนื่องจากฟอรั่ม Magento 2.0อย่างเป็นทางการไม่ได้รับความช่วยเหลือใด ๆ ฉันจะโพสต์คำถามของฉันที่นี่เช่นกัน เรากำลังอยู่ในขั้นตอนการสร้างชุดรูปแบบของเราเองโดยใช้ชุดรูปแบบ Magento Blank และเราต้องการที่จะนำการเปลี่ยนแปลงเล็ก ๆ น้อย ๆ 2 อย่างมาใช้กับ minicart dropdown ในส่วนหัว ไฟล์เหล่านี้ถูกโหลดผ่าน JS (Knockout.js framework) แต่เพียงแค่ทำซ้ำไฟล์ไปยังธีมของเราในโฟลเดอร์เดียวกัน ( Name/name2/web/template/minicart/item/default.html) และการแก้ไขไม่แสดงการเปลี่ยนแปลงใด ๆ ดังนั้นเราจึงสงสัยว่าพฤติกรรมการแทนที่จะแตกต่างกันในกรณีนี้ ใครบางคนชี้ให้เราในทิศทางที่ถูกต้อง? ขอบคุณ!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.