Как Magento2 использует RequireJS для загрузки скриптов, и нет более кожи папки, я застрял с проблемой:
Как я могу заменить JS-файл модуля Magento моей модифицированной версией?
Например - opc-checkout-method.js, который принадлежит расширению Magento_Checkout. Насколько я вижу, он не определен в файле requirejs-config.js.
Мое расширение загружается после Magento_Checkout , поэтому его данные requirejs-config.js добавляются в конце результирующего файла requirejs-config.
Или я должен сделать это другим способом, не заменяя весь сценарий?
javascript
overrides
magento2
requirejs
DmitryR
источник
источник
Ответы:
Папки скинов больше нет, но вы все еще можете использовать темы.
В качестве доказательства концепции я использовал пример с
op-checkout-method.js
этим и этим.Предпосылки:
pub/static
папке нет файлов (удалите папку pub / static / frontend)Действия:
op-checkout-method.js
файл из его местоположения модуляapp/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js
в пустую тему, чтобыapp/design/frontend/Magento/blank/Magento_Checkout/web/js/opc-checkout-method.js
console.log('something')
илиalert('something')
в_create
функциюmage.opcCheckoutMethod
виджета.Результат:
Связанная информация:
Если я запускаю из cli
php dev/tools/Magento/Tools/View/deploy.php
(скрипт, который публикует статические ресурсы), мой новый файл js помещается вpub/static/frontend/Magento/blank/en_US/Magento_Checkout/js/opc-checkout-method.js
[РЕДАКТИРОВАТЬ]
Я нашел способ сделать это через модуль.
В
[Namespace]/[Module]/view/frontend/requirejs-config.js
добавление это:Затем создайте файл
[Namespace]/[Module]/view/frontend/web/js/opc-checkout-method.js
с вашим контентом.В целях тестирования я клонировал исходный файл и просто добавил еще раз
console.log
в_create
функцию.Также не забудьте регенерировать публичные ресурсы для внешнего интерфейса.
источник
Вот официальный документ о расширении / замене компонентов JS по умолчанию: http://devdocs.magento.com/guides/v2.0/javascript-dev-guide/javascript/custom_js.html
Обратная связь приветствуется!
источник