Я пытаюсь переопределить файл js в кассе magento2.
Я хочу переопределить /vendor/magento/module-checkout/view/frontend/web/js/view/form/element/email.js
.
Итак, я скопировал файл из моего модуля в:
/app/code/Myself/Test/view/frontend/web/js/view/form/element/email.js
Я сделал небольшое изменение в /app/code/Myself/Test/view/frontend/web/js/view/form/element/email.js
:
/**
* Callback on changing email property
*/
emailHasChanged: function () {
var self = this;
clearTimeout(this.emailCheckTimeout);
if (self.validateEmail()) {
quote.guestEmail = self.email();
checkoutData.setValidatedEmailValue(self.email());
$.cookie("checkoutemail", self.email()); // <--- this is the change
}
this.emailCheckTimeout = setTimeout(function () {
if (self.validateEmail()) {
self.checkEmailAvailability();
} else {
self.isPasswordVisible(false);
}
}, self.checkDelay);
checkoutData.setInputFieldEmailValue(self.email());
},
Другие части файла не изменены.
Затем я создал /app/code/Myself/Test/view/frontend/requirejs-config.js
:
var config = {
map: {
'*':
{
'Magento_Checkout/js/view/form/element/email.js':'Myself_Test/js/view/form/element/email.js'
}
}
};
В этом requirejs-config.js
Я не уверен, где начинаются пути.
Поэтому я тоже попробовал это так:
'Magento_Checkout/web/js/view/form/element/email.js':'Myself_Test/web/js/view/form/element/email.js'
.
Но переопределение не работает. Оригинал email.js загружается в кассе.
Я выполнил команду setup:upgrade
после изменений, и мой магазин Magento2 находится в режиме разработчика, использует тему Luma и содержит только данные примера и мой Модуль установлен.