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.xml
file 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.xml
o al Magento_Catalog/layout/default.xml
file 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.phtml
modello.
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.phtml
file 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.xml
e 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 :