Como o Magento2 está usando o RequireJS para carregar scripts, e não há mais pasta de capa , eu fiquei com um problema:
Como posso substituir o arquivo JS do módulo Magento pela minha versão modificada?
Por exemplo - o opc-checkout-method.js que pertence à extensão Magento_Checkout. Não está definido no arquivo requirejs-config.js, até onde posso ver.
Minha extensão é carregada após o Magento_Checkout , portanto, seus dados requirejs-config.js são anexados no final do arquivo requirejs-config resultante.
Ou devo fazê-lo de outra maneira, sem substituir o script inteiro?
javascript
overrides
magento2
requirejs
DmitryR
fonte
fonte
Respostas:
Não há mais pasta de capa, mas você ainda pode usar temas.
Como prova de conceito, usei seu exemplo
op-checkout-method.js
e este.Condições prévias:
pub/static
pasta (remova a pasta pub / static / frontend)Ações:
op-checkout-method.js
arquivo do local do móduloapp/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js
para o tema em branco paraapp/design/frontend/Magento/blank/Magento_Checkout/web/js/opc-checkout-method.js
console.log('something')
oualert('something')
na_create
função domage.opcCheckoutMethod
widget.Resultado:
Informações Relacionadas:
Se eu executar a partir do cli
php dev/tools/Magento/Tools/View/deploy.php
(o script que publica os recursos estáticos), meu novo arquivo js será colocado empub/static/frontend/Magento/blank/en_US/Magento_Checkout/js/opc-checkout-method.js
[EDITAR]
Eu encontrei uma maneira de fazê-lo através de um módulo.
Em
[Namespace]/[Module]/view/frontend/requirejs-config.js
acrescentar o seguinte:Em seguida, crie o arquivo
[Namespace]/[Module]/view/frontend/web/js/opc-checkout-method.js
com seu conteúdo.Para fins de teste, clonei o arquivo original e apenas adicionei novamente a
console.log
na_create
função.Lembre-se também de regenerar os recursos públicos para o frontend.
fonte
Aqui está o documento oficial sobre a extensão / substituição de componentes JS padrão: http://devdocs.magento.com/guides/v2.0/javascript-dev-guide/javascript/custom_js.html
Comentários são bem-vindos!
fonte