เทมเพลตระบบกริดใหม่ Magento 2


15

ฉันใช้ระบบแบ็กเอนด์กริดใหม่ของ Magento ในเวอร์ชัน Merchant เบต้า 1.0.0 แล้ว
ก่อนอื่นต้องบอกว่าฉันประทับใจ
ตอนนี้คุณสามารถเลือกคอลัมน์ที่ต้องการดูคุณสามารถจัดลำดับคอลัมน์ใหม่ได้คุณสามารถกรองตามแอตทริบิวต์ที่ไม่จำเป็นต้องมีคอลัมน์
แต่นั่นไม่สำคัญ
ฉันไม่เข้าใจวิธีการแสดงผลของตาราง
โดยการช่วยให้คำแนะนำเส้นทางแม่แบบที่ผมเห็นว่าตารางผลิตภัณฑ์ตัวอย่างเช่นมีการแสดงผ่านทางแม่แบบและผ่านบล็อกapp/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtml ฉันแก้ไขเทมเพลตและเห็นบางสิ่งที่ฉันไม่เข้าใจMagento\Ui\Component\Listing

<!-- ko template: getTemplate() --><!-- /ko -->

ถ้าฉันลบบรรทัดนี้ (และล้างแคชถ้าเปิดใช้งาน) ฉันจะไม่ได้รับกริดอีกต่อไป
ใครสามารถอธิบายสิ่งนี้koคืออะไรและมันทำงานอย่างไร
ฉันพบมาร์กอัปชนิดนี้ในเทมเพลตอื่น app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.htmlตัวอย่างเช่น.

[อัพเดท]
ฉันเพิ่งค้นพบด้วยการค้นหาง่าย ๆ (duh!) ที่koอ้างถึงสิ่งนี้: http://knockoutjs.com/แต่ฉันยังต้องการคำอธิบายบางอย่าง

คำตอบ:


7

ดูเหมือนว่า Magento 2 กำลังใช้Knockout.jsซึ่งเป็นเฟรมเวิร์ก MVVM ที่ใช้การผูกข้อมูล HTML (และในบางกรณีความคิดเห็น HTML เช่นเดียวกับที่คุณพบ) เพื่อเชื่อมโยงโมเดลและมุมมอง

ที่นี่ความคิดเห็นนี้เป็นองค์ประกอบเสมือน "แม่แบบ" อาจจะผูกพันที่กำหนดเองจาก Magento (ดู: http://knockoutjs.com/documentation/custom-bindings-for-virtual-elements.html ) getTemplate()เห็นได้ชัดว่าฟังก์ชั่น JavaScript ที่เป็น รับผิดชอบในการแสดงองค์ประกอบที่แท้จริง

เพื่อให้เข้าใจถึงสิ่งที่น่าพิศวงโปรดอ่านบทแนะนำแบบโต้ตอบที่ knockoutjs.com ฉันพบว่ามันเข้าใจง่ายและการสอน / เอกสารนั้นยอดเยี่ยมมาก


1
ขอบคุณ เป็นการเริ่มต้นที่ดี ฉันจะติดต่อคุณในเรื่องนี้ :)
Marius

ไม่นานมานี้ตั้งแต่ฉันใช้สิ่งที่น่าพิศวง แต่ฉันชอบความเรียบง่ายและสะอาดเป็นอย่างมากรอคอยที่จะใช้มันอีกครั้งใน Magento 2 :)
Fabian Schmengler

1
แนวโน้มคือใช้ phtml น้อยกว่าและใช้ html มากกว่าทั้งคู่อยู่ในมุมมอง แต่ phtml อยู่ในเทมเพลตและสิ่งที่เกี่ยวข้องกับ ko อยู่ในเว็บ ข้อแตกต่างก็คือว่า phtml ถูกผูกไว้กับบล็อกและ html มีผู้ให้บริการปรับแต่งและมุมมองโมเดล js ลองดูที่ Checkout มีตัวอย่างมากมาย
PartySoft
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.