سؤال

لقد كنت أبحث في نظام الشبكة الخلفية الجديد لـ Magento على إصدار Merchant beta 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/ ولكن ما زلت بحاجة إلى بعض التوضيحات.

هل كانت مفيدة؟

المحلول

يبدو أن Magento 2 يستخدم خروج المغلوب.js, ، إطار عمل MVVM يستخدم روابط بيانات HTML (وفي بعض الحالات تعليقات HTML، مثل تلك التي وجدتها) لربط النموذج والعرض.

هنا، هذا التعليق هو عنصر افتراضي، "قالب" ربما يكون رابطًا مخصصًا من Magento (انظر: http://knockoutjs.com/documentation/custom-bindings-for-virtual-elements.html), getTemplate() من الواضح أن وظيفة JavaScript مسؤولة عن عرض العنصر (العناصر) الحقيقية.

لفهم خروج المغلوب، انتقل إلى البرنامج التعليمي التفاعلي الخاص بهم على موقع knockoutjs.com، لقد وجدت أنه من السهل فهمه، كما أن البرنامج التعليمي/الوثائق رائعة حقًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top