Magento 2
Я создал модуль пользовательского метода доставки, и мне нужно добавить пользовательский JS на страницу оформления заказа, где указан адрес и метод доставки. Но это не работает для меня.
Я добавил свой onepage.phtml
в следующем месте:
My_Module\view\frontend\templates\onepage.phtml
Я также создал файл checkout_index_index.xml
в следующем месте:
My_Module\view\frontend\layout\checkout_index_index.xml
Местоположение моего JS:
My_Module\view\frontend\web\js\custom.js
Содержимое моего onepage.phtml
файла:
<script type="text/javascript">
require(['jquery', 'custom-js'], function($) {
alert('JS loaded');
});
</script>
Содержимое моего checkout_index_index.xml
файла:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="checkout.onepage">
<action method="setTemplate">
<argument name="template" xsi:type="string">My_Module::onepage.phtml</argument>
</action>
</referenceBlock>
</body>
</page>
Содержимое моего requirejs-config.js
файла:
var config = {
map: {
'*': {
custom-js: 'My_Module/js/custom-js'
}
}
};
Содержимое моего module.xml
файла:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="My_Module" setup_version="1.0.1">
<sequence>
<module name="Magento_Checkout"/>
</sequence>
</module>
</config>
Когда я добавляю содержимое моего onepage.phtml
файла в основной файл onepage.phtml
, JS загружается правильно.
Кроме того, когда я изменяю referenceBlock
name
на checkout.root
в файле checkout_index_index.xml
, мои JS-файлы загружаются, но кажется, что только файл onepage.phtml
отображается и ничего больше ... Я использую неправильное name
значение?
Есть ли лучший способ включить JS или я просто что-то упустил? Любая помощь будет оценена!