Как передать параметры из *.phtml в компонент на JavaScript посредством x-magento-init

x-magento-init
phtml
javascript

(Дмитрий Федюк) #1

Как я уже говорил, правильным способом запуска кода JavaScript из шаблона *.phtml является x-magento-init.
В официальной документации такой код JavaScript называется компонентом JavaScript.
Синтаксис x-magento-init позволяет передавать в такой компонент параметры из PHP.
Пример из стандартного модуля Magento Catalog

Этот код передаёт компоненту JavaScript 3 параметра: attributesData, isSortable, isReadOnly.
Теперь покажу, как компонент JavaScript может получить доступ к этим параметрам.
Смотрим код вызываемого выше компонента:

Как можно заметить, этот компонент является модулем по стандарту AMD.
Этот модуль возвращает функцию, а параметры из PHP приходят в эту функцию в качестве переменной-объекта (которая в данном случае называется config).

Пример использования этой переменной:


Как программировать административную библиотеку картинок
Как загрузить на страницу CSS, если макет уже построен