Ich erstelle Magento 2.0, um nur 2 meiner Produkte online zu verkaufen. Das Modul Produkte vergleichen und Wunschliste ist für mich irrelevant.
Wie entferne ich diese Module sicher und einfach? Ich möchte den Kerncode nicht hacken.
Ich erstelle Magento 2.0, um nur 2 meiner Produkte online zu verkaufen. Das Modul Produkte vergleichen und Wunschliste ist für mich irrelevant.
Wie entferne ich diese Module sicher und einfach? Ich möchte den Kerncode nicht hacken.
Antworten:
In Magento 2 können Sie jetzt die Funktionen zum Vergleichen von Produkten über eine XML-Datei entfernen. Der Produktvergleichsblock ist in definiertvendor/magento/module-catalog/view/frontend/layout/default.xml
und Sie können es entfernen, indem Sie default.xml
Ihrem Thema eine Datei hinzufügen in:<theme_dir>/Magento_Catalog/layout/default.xml
in dem du deinen Block wie folgt entfernst:
<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>
Sie können der Standard-XML-Datei Ihres benutzerdefinierten Themas, die sich in Ihrem benutzerdefinierten Thema befinden sollte, /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
oder der Magento_Catalog/layout/default.xml
Datei in Ihrem benutzerdefinierten Thema die folgenden XML-Anweisungen hinzufügen :
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true" />
<referenceBlock name="view.addto.wishlist" remove="true" />
was los wird
Zum Entfernen von Hinzufügen zum Vergleichen von Kategorieseiten (Katalogproduktliste) verwenden Sie:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
, um den Link von der Katalogproduktliste zu entfernen.
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
dass die Vergleichsfunktion auch aus den Suchergebnissen des Katalogs entfernt wird.
Ich habe die Quelle nach allen Vergleichsblöcken durchsucht. Für 2.3 ist dies die vollständige Liste. Dadurch wird auch der Vergleichslink aus der Kopfzeile entfernt.
<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>
Deaktivieren Sie die Wunschliste unter Stores> Configuration> Customers> Wishlist und fügen Sie zum Deaktivieren der Compare-Funktion die folgenden Zeilen in Magento_Catalog / layout / default.xml Ihres Themes ein.
<?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>
Setzen Sie $ showCompare in den folgenden Vorlagen auf 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
Entfernen Sie vergleichende Mitarbeiter aus den folgenden Vorlagen:
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
Referenz: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento bietet ein Befehlszeilenprogramm für dieses Beispiel
php bin/magento module:disable -f Magento_Wishlist
Da die Magento-Wunschliste auch von dem anderen Modul abhängt, wird die Verwendung von ohne [-f] das Modul nicht deaktivieren oder aktivieren und es wird eine Warnung wie angezeigt
Wenn Sie den Befehl mit dem Flag [-f] verwenden, wird das Problem behoben
Bitte überprüfen Sie die Warnung, wenn Sie den Befehl erzwingen
Warnung: Sie haben die Option --force verwendet. Infolgedessen funktionieren Module möglicherweise nicht richtig.
Sie können die vollständigen Informationen auch hier überprüfen: http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- Module
UPDATE: Nach einem Magento 2-Core-Update ist die Antwort von Klara nun die beste Möglichkeit, die Vergleichsfunktion zu deaktivieren. Bitte lesen Sie unten !
Um die Wish List-Funktion zu deaktivieren, müssen Sie in der Administration unter Stores> Configuration> Customers> Wish List die Option Enabled: No auswählen.
Zum Deaktivieren der Vergleichsfunktion gibt es keine Option in der Verwaltung. Sie müssen die module-catalog/view/frontend/templates/product/list.phtml
Vorlage überschreiben .
Dazu müssen Sie den Inhalt der oben genannten Datei in eine neue Datei in Ihrem Design unter kopieren <theme_dir>/Magento_Catalog/templates/product/list.phtml
. Dann möchten Sie die betroffenen Zeilen entfernen:
<?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>
Diese befinden sich in Magento 2.0.1 in den Zeilen 111 bis 121
So deaktivieren Sie die Seitenleiste:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
Um den "Add to compare"
Link auf der Produktseite zu entfernen , müssen Sie die Magento_Catalog/templates/product/view/addto.phtml
Datei in Ihrem Design überschreiben und den Vergleichsanker dort entfernen. Auf diese Weise können Sie die Wunschliste behalten, aber die Vergleichsfunktion entfernen.
Für Magento 2.1.x
Hinzufügen einer default.xml-Datei zu Ihrem Thema in: /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>
Dies ist eine Erweiterung anderer hier bereitgestellter Lösungen. Verwenden Sie die Datei /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
und fügen Sie Folgendes hinzu
<?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>
Nachdem ich alle oben genannten Methoden für die einzelnen Produktseiten ausprobiert hatte, fand ich die eine Datei, die in meinem Fall von Bedeutung war, mit einem installierten Thema, aber unter Verwendung meines eigenen untergeordneten Themas addtocart.phtml
. Andere Optionen funktionieren für die Rasterkategorieansicht und die Listenkategorieansicht (die oben genannten list.phtml
, jedoch auf einzelnen Produktseiten:
<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>
Dies muss auskommentiert werden. Stundenlang versucht und es war diese Datei.
Wenn jemand etwas anderes findet, lass es mich wissen!
M2.1 schnelle und einfache Lösung.
Wenn Sie kein benutzerdefiniertes Design erstellen und / oder lieber vom Backend aus arbeiten möchten, können Sie im Backend die folgenden Schritte ausführen. Navigieren Sie zu der CMS-Seite, Kategorie oder Produktseite, die Sie ändern möchten. Beispiel für Kategorieseite: Fügen Sie unter Design -> Layout Update XML den folgenden Code hinzu:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
Hinweis: Wenn Sie möchten, dass zusätzliche Blöcke in der Seitenleiste verbleiben, setzen Sie den zusätzlichen Container wie folgt auf "false":
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
Die Wunschliste kann über das Backend deaktiviert werden, wie in anderen Antworten beschrieben.
Es gibt ein FOSS-Modul, mit dem die Vergleichsfunktion auf Store-View-Ebene entfernt werden kann:
https://github.com/Joshua29LK/disable-compare-magento-2
Ich habe eine kurze Rezension gemacht:
Ich verwende das Ultimo-Theme für Magento 2.3.3. Ich konnte den Vergleichslink in der Datei catalog_product_view.xml des Themas nicht deaktivieren, da die Einstellungen nicht von dort stammen, sondern sich in folgendem Verzeichnis befinden:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Ich entschied mich für die schnelle und schmutzige Lösung, entfernte einfach das Folgende:
<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>
Die Vergleichsschaltfläche ist für immer verschwunden. Wenn Sie jedoch ein Magento-Upgrade durchführen, wird sie wieder angezeigt und muss erneut entfernt werden.
Sie können dieses kostenpflichtige Modul verwenden, um das Vergleichen in Magento 2 zu deaktivieren (20 US-Dollar).
http://www.mage20.com/magento-2-disable-compare.html
Eigenschaften :