Я собираю Magento 2.0 только для того, чтобы продавать 2 моих продукта онлайн. Модуль сравнения товаров и списка пожеланий для меня не важен.
Как мне безопасно и легко удалить эти модули? Я не хочу взламывать основной код.
Я собираю Magento 2.0 только для того, чтобы продавать 2 моих продукта онлайн. Модуль сравнения товаров и списка пожеланий для меня не важен.
Как мне безопасно и легко удалить эти модули? Я не хочу взламывать основной код.
Ответы:
В Magento 2 теперь вы можете удалить функцию сравнения продуктов через XML-файл. Блок сравнения товаров определен вvendor/magento/module-catalog/view/frontend/layout/default.xml
и вы можете удалить его, добавив default.xml
файл к вашей теме в:<theme_dir>/Magento_Catalog/layout/default.xml
внутри которого вы удаляете свой блок следующим образом:
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="wishlist_sidebar" remove="true" />
</body>
</page>
Вы можете добавить следующую инструкцию xml в xml-файл вашей пользовательской темы по умолчанию, который должен находиться по адресу /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
или в Magento_Catalog/layout/default.xml
файл вашей пользовательской темы:
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true" />
<referenceBlock name="view.addto.wishlist" remove="true" />
который избавляется от
Чтобы удалить добавить для сравнения со страниц категорий (список продуктов каталога) используйте:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
чтобы удалить ссылку из каталога товаров.
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
удаляет функцию сравнения из результатов поиска в каталоге.
Я нашел источник для всех блоков сравнения. Для 2.3 это полный список. Это также удалит ссылку сравнения из шапки.
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<!-- Remove compare -->
<referenceBlock name="catalog.compare.link" remove="true" />
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="crosssell.product.addto.compare" remove="true" />
<referenceBlock name="related.product.addto.compare" remove="true" />
<referenceBlock name="upsell.product.addto.compare" remove="true" />
<referenceBlock name="view.addto.compare" remove="true" />
</body>
</page>
Отключите список желаний в разделе « Магазины»> «Конфигурация»> «Клиенты»> «Список пожеланий» и, чтобы отключить функцию «Сравнить», вставьте эти строки ниже в Magento_Catalog / layout / default.xml вашей темы.
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="catalog.compare.link" remove="true"/>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
</page>
Установите $ showCompare в false в следующих шаблонах:
Magento / Каталог / просмотр / внешний интерфейс / шаблоны / продукт / список / items.phtml Magento / каталог / просмотр / внешний интерфейс / шаблоны / product / widget / new / content / new_grid.phtml Magento / каталог / просмотр / внешний вид / шаблоны / product / widget / new / content / new_list.phtml Magento / Каталог / просмотр / внешний интерфейс / шаблоны / product / widget / content / grid.phtml
Удалите сравнительный персонал из следующих шаблонов:
Magento / Каталог / view / frontend / templates / product / list.phtml Magento / Каталог / view / frontend / templates / product / list.phtml Magento / Wishslist / просмотр / внешний интерфейс / шаблоны / item / configure / addto.phtml
Ссылка: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento предоставляет утилиту командной строки для этого примера
php bin/magento module:disable -f Magento_Wishlist
так как список желаний Magento зависит также от другого модуля, поэтому использование без [-f] не отключит или не включит модуль и отобразит предупреждение как
после использования команды с флагом [-f] решу эту проблему
пожалуйста, проверьте предупреждение, когда вы используете команду принудительно
Предупреждение: вы использовали опцию --force. В результате модули могут работать неправильно.
Вы также можете проверить полную информацию здесь http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- модули
ОБНОВЛЕНИЕ: После обновления ядра Magento 2 ответ Клары теперь является лучшим способом отключить функцию сравнения. Пожалуйста, прочитайте ниже!
Чтобы отключить функцию списка желаний, вам нужно зайти в администрацию, в разделе « Магазины»> «Конфигурация»> «Клиенты»> «Список пожеланий» и выбрать «Включено»: Нет.
Чтобы отключить функцию сравнения, нет опции в администрировании. Вам нужно переопределить module-catalog/view/frontend/templates/product/list.phtml
шаблон.
Для этого вам нужно скопировать содержимое файла, который я назвал выше, в новый файл внутри вашей темы, расположенный в <theme_dir>/Magento_Catalog/templates/product/list.phtml
. Затем вы хотите удалить соответствующие строки:
<?php
$compareHelper = $this->helper('Magento\Catalog\Helper\Product\Compare');
?>
<a href="#"
class="action tocompare"
title="<?php echo $block->escapeHtml(__('Add to Compare')); ?>"
aria-label="<?php echo $block->escapeHtml(__('Add to Compare')); ?>"
data-post='<?php /* @escapeNotVerified */ echo $compareHelper->getPostDataParams($_product); ?>'
role="button">
<span><?php /* @escapeNotVerified */ echo __('Add to Compare') ?></span>
</a>
Это в строках от 111 до 121 в Magento 2.0.1
отключить боковую панель:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
чтобы удалить "Add to compare"
ссылку на странице продукта, нужно перезаписать Magento_Catalog/templates/product/view/addto.phtml
файл в вашей теме и удалить привязку сравнения. Таким образом, вы можете сохранить список желаний, но удалить функцию сравнения.
Для Magento 2.1.x
Добавление файла default.xml к вашей теме в: /Magento_Catalog/layout/default.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
</page>
Это расширение других решений, представленных здесь. Используйте файл /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
и добавьте следующее
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="catalog.compare.link" remove="true"/>
<referenceBlock name="related.product.addto.compare" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true"/>
<referenceBlock name="upsell.product.addto.compare" remove="true"/>
</body>
</page>
Попробовав все вышеперечисленные методы для отдельных страниц продукта, я нашел один файл, который имел значение в моем случае, с установленной темой, но с использованием моей собственной дочерней темы addtocart.phtml
. Другие параметры будут работать для вида категории сетки и вида списка (выше list.phtml
, но на отдельных страницах продукта:
<a href="#" data-post='<?php /* @escapeNotVerified */ echo $compareHelper->getPostDataParams($_product);?>'
data-role="add-to-links"
class="action tocompare">
<i class="fa fa-retweet icons"></i>
<span><?php /* @escapeNotVerified */ echo __('Compare') ?></span>
</a>
Это должно быть закомментировано. Часы и часы попыток и это был этот файл.
Если кто-то найдет другое, пожалуйста, дайте мне знать!
M2.1 быстрое и простое решение.
Если вы не хотите создавать собственную тему и / или предпочитаете работать из бэкэнда, вы можете сделать следующее в бэкэнде. Перейдите на страницу cms, категорию или страницу продукта, которые вы хотите изменить. Пример для страницы категории: в разделе «Дизайн» -> «Обновление макета XML» добавьте следующий код:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
Примечание: если вы хотите, чтобы дополнительные блоки оставались на боковой панели, установите для дополнительного контейнера значение «false» следующим образом:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
Список желаний можно отключить через бэкэнд, как написано в других ответах.
Существует модуль FOSS, который может удалить функцию сравнения на уровне просмотра магазина:
https://github.com/Joshua29LK/disable-compare-magento-2
Я сделал краткий обзор:
Я использую тему Ultimo на Magento 2.3.3. Я не смог отключить ссылку для сравнения из файла catalog_product_view.xml темы, так как настройки не приходят оттуда, но они расположены в:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Я пошел за быстрым и грязным решением, просто убрал следующее:
<container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="product-social-links">
<block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="Magento_Catalog::product/view/addto.phtml">
<block class="Magento\Catalog\Block\Product\View\AddTo\Compare" name="view.addto.compare" after="view.addto.wishlist"
template="Magento_Catalog::product/view/addto/compare.phtml" >
<arguments>
<argument name="addToCompareViewModel" xsi:type="object">Magento\Catalog\ViewModel\Product\Checker\AddToCompareAvailability</argument>
</arguments>
</block>
</block>
<block class="Magento\Catalog\Block\Product\View" name="product.info.mailto" template="Magento_Catalog::product/view/mailto.phtml"/>
</container>
Кнопка сравнения исчезла навсегда, однако, если вы выполните обновление Magento, оно вернется, поэтому его нужно будет удалить снова.
Вы можете использовать этот платный модуль для отключения сравнения в magento 2 ($ 20).
http://www.mage20.com/magento-2-disable-compare.html
Особенности :