Переопределить JS-файл в оформлении Magento2 - PullRequest
0 голосов
/ 10 апреля 2019

Я пытаюсь переопределить файл 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 и содержит только данные примера и мой Модуль установлен.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Проблема в пути, который вы используете для переопределения.

Измените расположение файла на путь, указанный ниже, и он будет работать для вас.

/ app/code/Magento/Checkout/view/frontend/web/js/view/form/element/email.js

Не забудьте очистить кеш.

0 голосов
/ 10 апреля 2019

Измените свой путь с

/ app / code / Myself / Test / web / js / view / form / element / email.js

на

/ app / code / Myself / Test / view / frontend / web / js / view / form / element / email.js

Затем очистите кэш, запустите развертывание контента и попробуйтеопять .. `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...