Как удалить modal.js и связанные с ним файлы


Мне нужно удалить modal.js и это связанные файлы по всему сайту. Он доступен в каталоге поставщиков, и мне нужно удалить его из DOM.

Я нашел похожий вопрос, но на него никто не ответил: Как удалить modal.js со всех страниц в magento 2.2

Я также пытался удалить тег и добавить в него имена файлов js, связанные с модальностью, но это не сработало для меня

Author: Shoaib Munir, 2019-02-04

2 answers

Модальный пользовательский интерфейс - это глобальный компонент пользовательского интерфейса, и он использует по требованию (это означает, что вы не можете удалить его с помощью XML-структур, таких как <remove src="modal.js"/> или что-то подобное).

Он используется не только на интерфейсе, но также широко используется в adminhtml. Например:

Src/поставщик/magento/модуль-каталог/просмотр/adminhtml/шаблоны/каталог/категория/дерево.phtml

src/vendor/magento/module-catalog/view/adminhtml/templates/catalog/category/tree.phtml

Это часть мини-карты Magento (Боковая панель корзины)

Src/vendor/magento/module-checkout/view/frontend/web/template/sidebar.html

src/vendor/magento/module-checkout/view/frontend/web/template/sidebar.html

Однако, если вы не хотите использовать всплывающее окно аутентификации (всплывающее окно входа на странице оформления заказа). Вы можете попытаться удалить этот блок в XML с помощью этого

<referenceBlock name="authentication-popup" remove="true"/>

Полное удаление Magento_Ui/js/modal/modal невозможно в Magento 2! Это наверняка нарушит множество функций. Конечно, теоретически вы все еще можете отключить всю функциональность modal Пользовательский интерфейс с JS смешивать вот так:

/**
 * StackOverflow No Modal :(
 *
 * @category  Mage
 *
 * @author    Toan Nguyen <https://github.com/nntoan>
 */
define([
    'jquery',
    'uiRegistry',
    'mage/utils/wrapper',
    'mage/validation'
], function ($, registry, wrapper) {
    'use strict';

    return function (modal) {

        modal.prototype._create = wrapper.wrap(modal.prototype._create, function (original) {
            return null;
        });

        return modal;
    };
});

Если я вас неправильно понял, не стесняйтесь оставлять комментарий:)

 1
Author: Toan Nguyen, 2019-02-10 17:59:40

Чтобы удалить статические ресурсы, связанные на странице, внесите изменения, аналогичные приведенным ниже, в тему, расширяющую
app/design/frontend/<Vendor>/<theme>/Magento_Theme/layout/default_head_blocks.xml:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
   <head>
        <!-- Remove local resources -->
        <remove src="css/styles-m.css" />
        <remove src="my-js.js"/>
        <remove src="Magento_Catalog::js/compare.js" />

    <!-- Remove external resources -->
        <remove src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"/>
        <remove src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"/>
        <remove src="http://fonts.googleapis.com/css?family=Montserrat" /> 
   </head>
</page>

Ссылка: Удалить статические ресурсы

 1
Author: fmsthird, 2019-02-09 16:26:12