Модуль переопределения Magento 2- пользовательский интерфейс из пользовательской темы


Есть ли возможность переопределить шаблоны magento-ui vendor/magento/module-ui/view/base/web/templates из темы?

Переопределение шаблонов других модулей работает нормально:

var config = {
    map: {
        '*': {
            'Magento_Checkout/template/estimation.html': 'template/module-checkout/estimation.html',
            'Magento_Checkout/template/progress-bar.html': 'template/module-checkout/progress-bar.html'
        }
    }
};

Но я вижу, что путь к шаблонам пользовательского интерфейса модуля объявлен следующим образом:

var config = {
    paths: {
        'ui/template': 'Magento_Ui/templates'
    }
}

И я не могу переопределить этот файл:

Vendor/magento/module-ui/view/base/web/templates/form/element/textarea.html

Author: Prince Patel, 2016-12-08

2 answers

Пытались ли вы создать в своей теме файл Magento_Ui/web/templates/form/element/textarea.html? Это должно переопределять базовое, также не забудьте удалить файлы тем из pub/static/, это сработало для меня

Или в своем пользовательском модуле создайте файл [Namespace]/[Module]/view/frontend/requirejs-config.js в своем модуле со следующим кодом

var config = {
    map: {
        '*': {
            'Magento_Checkout/template/estimation.html': '[Namespace]_[Module]/template/module-checkout/estimation.html',
            'Magento_Checkout/template/progress-bar.html': '[Namespace]_[Module]/template/module-checkout/progress-bar.html'
        }
    }
};
 7
Author: Vlad Patru, 2016-12-08 18:37:35

Создать requirejs-config.js файл из [Namespace]/[Module]/view/base.

Таким образом, путь будет [Namespace]/[Module]/view/base/requirejs-config.js

 var config = {
        map: {
            '*': {
                'Magento_Checkout/template/estimation.html': '[Namespace]_[Module]/template/module-checkout/estimation.html',
                'Magento_Checkout/template/progress-bar.html': '[Namespace]_[Module]/template/module-checkout/progress-bar.html'
            }
        }
    };

И выполните команды

php bin/magento cache:flush php bin/magento cache:clean

Затем вы можете проверить [root]/[pub]/[static]/[_requirejs]/[frontend]/[Namespace]/[theme]/[en_US]/requirejs-config.js, что ваш код будет обновляться здесь.

Так что это сработает. не стесняйтесь спрашивать, есть ли у вас какие-либо вопросы?

 2
Author: Bojjaiah, 2016-12-09 04:50:32