Como es Magento2 usando RequireJS para los scripts de carga, y no hay más piel carpeta, me he pegado con un problema:
¿Cómo puedo reemplazar el archivo JS del módulo de Magento por mi versión modificada?
Por ejemplo, el opc-checkout-method.js que pertenece a la extensión Magento_Checkout. No está definido en el archivo requirejs-config.js, por lo que puedo ver.
Mi extensión se carga después de Magento_Checkout , por lo que sus datos requirejs-config.js se agregan al final del archivo requirejs-config resultante.
¿O debería hacerlo de alguna otra manera, sin reemplazar todo el script?
javascript
overrides
magento2
requirejs
DmitryR
fuente
fuente
Respuestas:
No hay más carpetas de máscaras, pero aún puede usar temas.
Como prueba de concepto, utilicé tu ejemplo con
op-checkout-method.js
esto y esto.Precondiciones
pub/static
carpeta (elimine la carpeta pub / static / frontend)Comportamiento:
op-checkout-method.js
archivo de su ubicación de móduloapp/code/Magento/Checkout/view/frontend/web/js/opc-checkout-method.js
al tema en blanco paraapp/design/frontend/Magento/blank/Magento_Checkout/web/js/opc-checkout-method.js
console.log('something')
oalert('something')
en la_create
función delmage.opcCheckoutMethod
widget.Resultado:
Información relacionada:
Si ejecuto desde cli
php dev/tools/Magento/Tools/View/deploy.php
(el script que publica los recursos estáticos), mi nuevo archivo js se coloca enpub/static/frontend/Magento/blank/en_US/Magento_Checkout/js/opc-checkout-method.js
[EDITAR]
Encontré una manera de hacerlo a través de un módulo.
En
[Namespace]/[Module]/view/frontend/requirejs-config.js
agregar esto:Luego crea el archivo
[Namespace]/[Module]/view/frontend/web/js/opc-checkout-method.js
con tu contenido.Para fines de prueba, cloné el archivo original y simplemente agregué nuevamente a
console.log
en la_create
función.También recuerde regenerar los recursos públicos para frontend.
fuente
Aquí está el documento oficial sobre la extensión / reemplazo de componentes JS predeterminados: http://devdocs.magento.com/guides/v2.0/javascript-dev-guide/javascript/custom_js.html
Comentarios son bienvenidos!
fuente