Новий шаблон системи сітки Magento 2


15

Я роздумував над новою системою резервної сітки 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наприклад.

[ОНОВЛЕННЯ]
Я щойно з’ясував за допомогою простого пошуку (так!), 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
Спасибі. Це вдалий старт. Я з вами повернусь із цього питання :)
Маріус

Минуло час, коли я використовував нокаут, але мені сподобалось, як це просто і чисто, він з нетерпінням чекав, коли його знову використають у Magento 2 :)
Fabian Schmengler

1
Тенденція полягає в тому, щоб менше використовувати phtml і більше використовувати html, обидва вони переглядаються, але phtml є в шаблонах, і ko пов'язані речі є в Інтернеті. Різниця полягає в тому, що phtml прив’язаний до блоку, а html має постачальник конфігурацій та перегляд js моделі. Погляньте на
касу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.