回答:
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"/>
。カタログ検索結果からも比較機能を削除する機能も追加できませんでした。
すべての比較ブロックのソースをgrepしました。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 /レイアウト/ 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 / Catalog / view / frontend / templates / product / list / items.phtml Magento / Catalog / view / frontend / templates / product / widget / new / content / new_grid.phtml Magento / Catalog / view / frontend / templates / product / widget / new / content / new_list.phtml Magento / Catalog / 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
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コアの更新後、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
、テーマのファイルを上書きし、そこで比較アンカーを削除する必要があります。この方法では、ウィッシュリストを保持しながら、比較機能を削除できます。
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
私は短いレビューをしました:
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のアップグレードを実行すると元に戻るため、再度削除する必要があります。
この有料モジュールを使用して、magento 2($ 20)で比較を無効にできます。
http://www.mage20.com/magento-2-disable-compare.html
特徴: