Sto costruendo Magento 2.0 solo per vendere 2 dei miei prodotti online. Il modulo di confronto prodotti e lista desideri è irrilevante per me.
Come rimuovo in modo semplice e sicuro quei moduli? Non voglio hackerare il codice principale.
Sto costruendo Magento 2.0 solo per vendere 2 dei miei prodotti online. Il modulo di confronto prodotti e lista desideri è irrilevante per me.
Come rimuovo in modo semplice e sicuro quei moduli? Non voglio hackerare il codice principale.
Risposte:
In Magento 2, ora puoi effettivamente rimuovere la funzionalità Confronta prodotti tramite file XML. Il blocco Confronta prodotti è definito invendor/magento/module-catalog/view/frontend/layout/default.xml
e puoi rimuoverlo aggiungendo un default.xmlfile al tuo tema in:<theme_dir>/Magento_Catalog/layout/default.xml
all'interno del quale rimuovi il blocco come segue:
<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>
Puoi aggiungere le seguenti istruzioni xml al file xml predefinito del tuo tema personalizzato che dovrebbe trovarsi in /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xmlo al Magento_Catalog/layout/default.xmlfile nel tuo tema personalizzato:
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true" />
<referenceBlock name="view.addto.wishlist" remove="true" />
di cui si sbarazza
Per rimuovere aggiungi per confrontare dalle pagine delle categorie (elenco prodotti catalogo) utilizzare:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>per rimuovere il collegamento dall'elenco dei prodotti del catalogo.
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>che rimuove la funzione di confronto anche dai risultati di ricerca del catalogo.
Ho preso la fonte per tutti i blocchi di confronto. Per 2.3 questo è l'elenco completo. Questo rimuoverà anche il link di confronto dall'intestazione.
<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>
Disabilita la lista dei desideri su Negozi> Configurazione> Clienti> Lista dei desideri e per disabilitare la funzione Confronta incolla queste righe di seguito su Magento_Catalog / layout / default.xml del tuo tema.
<?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>
Impostare $ showCompare su false nei seguenti modelli:
Magento / Catalogue / view / frontend / templates / product / list / items.phtml Magento / Catalogue / view / frontend / templates / product / widget / new / content / new_grid.phtml Magento / Catalogue / view / frontend / templates / product / widget / nuovo / contenuto / new_list.phtml Magento / Catalogo / vista / frontend / modelli / prodotto / widget / contenuto / grid.phtml
Rimuovi il personale di confronto tra i seguenti modelli:
Magento / Catalogue / view / frontend / templates / product / list.phtml Magento / Catalogue / view / frontend / templates / product / listing.phtml Magento / Wishslist / view / frontend / templates / item / configure / addto.phtml
Riferimento: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento fornisce l'utilità della riga di comando per questo esempio
php bin/magento module:disable -f Magento_Wishlist
poiché la lista dei desideri di Magento dipende anche dall'altro modulo, quindi l'utilizzo senza [-f] non disabiliterà o abiliterà il modulo e visualizzerà un avviso come
dopo aver usato il comando con [-f] flag risolverà questo problema
si prega di controllare l'avviso quando si utilizza il comando con forza
Avviso: hai usato l'opzione --force. Di conseguenza, i moduli potrebbero non funzionare correttamente.
Puoi controllare anche qui le informazioni complete http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- moduli
AGGIORNARE: dopo un aggiornamento di base di Magento 2, la risposta di klara è ora il modo migliore per disabilitare la funzionalità di confronto. Per favore leggi sotto !
Per disabilitare la funzionalità Elenco desideri, è necessario accedere all'amministrazione, in Negozi> Configurazione> Clienti> Elenco desideri e selezionare Abilitato: No.
Per disabilitare la funzionalità Confronta, non c'è alcuna opzione nell'amministrazione. Devi sovrascrivere il module-catalog/view/frontend/templates/product/list.phtmlmodello.
Per fare ciò, devi copiare il contenuto del file che ho nominato sopra in un nuovo file all'interno del tema che si trova sotto <theme_dir>/Magento_Catalog/templates/product/list.phtml. Quindi, si desidera rimuovere le righe interessate:
<?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>
Questi sono alle righe da 111 a 121 in Magento 2.0.1
per disabilitare la barra laterale:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
per rimuovere il "Add to compare"collegamento nella pagina del prodotto è necessario sovrascrivere il Magento_Catalog/templates/product/view/addto.phtmlfile nel tema e rimuovere l'ancora di confronto lì. In questo modo è possibile mantenere la lista dei desideri ma rimuovere la funzionalità di confronto.
Per Magento 2.1.x
Aggiunta di un file default.xml al tema 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>
Questa è un'estensione di altre soluzioni fornite qui. Utilizzare il file /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xmle aggiungere quanto segue
<?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>
Dopo aver provato tutti i metodi di cui sopra per le singole pagine del prodotto, ho trovato l'unico file che contava nel mio caso, con un tema installato, ma utilizzando il mio tema figlio addtocart.phtml. Altre opzioni funzioneranno per la vista della categoria della griglia e per la vista della lista (la suddetta list.phtml, ma sulle pagine dei singoli prodotti:
<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>
Questo deve essere commentato. Ore e ore di tentativi ed era questo file.
Se qualcuno trova diversamente, per favore fatemi sapere!
M2.1 soluzione rapida e semplice.
Se non si desidera creare un tema personalizzato e / o si preferisce lavorare dal back-end, è possibile effettuare le seguenti operazioni nel back-end. Passare alla pagina cms, alla categoria o alla pagina del prodotto che si desidera modificare. Esempio per la pagina della categoria: in Progettazione -> Aggiornamento XML layout aggiungere il seguente codice:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
Nota: se si desidera che blocchi aggiuntivi rimangano nella barra laterale, impostare il contenitore aggiuntivo su "false" in questo modo:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
La lista dei desideri può essere disabilitata tramite backend, come scritto in altre risposte.
Esiste un modulo FOSS che può rimuovere la funzione di confronto a livello di visualizzazione per negozio:
https://github.com/Joshua29LK/disable-compare-magento-2
Ho fatto una breve recensione:
Sto usando il tema Ultimo su Magento 2.3.3. Non ho potuto disabilitare il link di confronto dal file catalog_product_view.xml del tema poiché le impostazioni non provengono da lì ma si trovano in:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Ho optato per la soluzione rapida e sporca, semplicemente rimosso quanto segue:
<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>
Il pulsante di confronto è sparito per sempre, tuttavia se esegui un aggiornamento di Magento tornerà, quindi dovrà essere rimosso di nuovo.
Puoi utilizzare questo modulo a pagamento per disabilitare il confronto in magento 2 ($ 20).
http://www.mage20.com/magento-2-disable-compare.html
Caratteristiche :