답변:
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 파일 /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>
에 안 위시리스트 상점> 구성> 고객> 위시리스트 와는 비교 기능에 다음이 줄 붙여 비활성화 / 레이아웃 / default.xml에 Magento_Catalog 테마의를.
<?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로 설정하십시오 .
마 젠토 / 카탈로그 /view/frontend/templates/product/list/items.phtml 마 젠토 / 카탈로그 /view/frontend/templates/product/widget/new/content/new_grid.phtml 마 젠토 / 카탈로그 / view / frontend / templates / product / widget / new / content / new_list.phtml 마 젠토 / 카탈로그 /view/frontend/templates/product/widget/content/grid.phtml
다음 템플릿에서 관련 직원을 비교하십시오.
Magento / Catalog / view / frontend / templates / product / list.phtml Magento / Catalog / view / frontend / templates / product / listing.phtml Magento / Wishslist / view / frontend / templates / 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
마 젠토 위시리스트는 다른 모듈에도 의존하므로 [-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 코어 업데이트 이후, Klara의 답변은 이제 비교 기능을 비활성화하는 가장 좋은 방법입니다. 아래를 읽으십시오!
위시리스트 기능을 사용하지 않으려면 관리 > 상점> 구성> 고객> 위시리스트로 이동 하여 사용 : 아니오를 선택해야합니다.
비교 기능을 사용하지 않으려면 관리에 옵션이 없습니다. 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>
Magento 2.0.1의 111-121 행에 있습니다.
사이드 바를 비활성화하려면 :
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
"Add to compare"
제품 페이지 에서 링크 를 제거하려면 Magento_Catalog/templates/product/view/addto.phtml
테마 의 파일 을 덮어 쓰고 비교 앵커를 제거해야합니다. 이렇게하면 위시리스트를 유지하면서 비교 기능을 제거 할 수 있습니다.
마 젠토 2.1.x
/Magento_Catalog/layout/default.xml에서 테마에 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
나는 짧은 리뷰를했다 :
Magento 2.3.3에서 Ultimo 테마를 사용하고 있습니다. 테마의 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 2 ($ 20)에서 비교를 비활성화 할 수 있습니다.
http://www.mage20.com/magento-2-disable-compare.html
특징 :