Estoy construyendo Magento 2.0 solo para vender 2 de mis productos en línea. El módulo de comparación de productos y lista de deseos es irrelevante para mí.
¿Cómo elimino esos módulos de forma segura y fácil? No quiero hackear el código central.
Estoy construyendo Magento 2.0 solo para vender 2 de mis productos en línea. El módulo de comparación de productos y lista de deseos es irrelevante para mí.
¿Cómo elimino esos módulos de forma segura y fácil? No quiero hackear el código central.
Respuestas:
En Magento 2, ahora puede eliminar la funcionalidad Comparar productos a través del archivo xml. El bloque Comparar productos se define envendor/magento/module-catalog/view/frontend/layout/default.xml
y puede eliminarlo agregando un default.xml
archivo a su tema en:<theme_dir>/Magento_Catalog/layout/default.xml
dentro del cual elimina su bloqueo de la siguiente manera:
<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>
Puede agregar las siguientes instrucciones xml al archivo xml predeterminado de su tema personalizado que debe ubicarse en /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
o para Magento_Catalog/layout/default.xml
archivar en su tema personalizado:
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true" />
<referenceBlock name="view.addto.wishlist" remove="true" />
que se deshace de
Para eliminar agregar para comparar de las páginas de categoría (lista de productos del catálogo) use:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
para eliminar el enlace de la lista de productos del catálogo.
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
que elimina la función de comparación también de los resultados de búsqueda del catálogo.
Agarré la fuente de todos los bloques de comparación. Para 2.3 esta es la lista completa. Esto también eliminará el enlace de comparación del encabezado.
<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>
Desactive Lista de deseos en tiendas> Configuración> Clientes> Lista de deseos y para desactivar la función Comparar pegue estas líneas a continuación en Magento_Catalog / layout / default.xml de su 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>
Conjunto $ showCompare en falso en las siguientes plantillas:
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
Elimine el personal relacionado de comparación de las siguientes plantillas:
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
Referencia: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento proporciona una utilidad de línea de comandos para su ejemplo
php bin/magento module:disable -f Magento_Wishlist
como la lista de deseos de Magento también depende del otro módulo, por lo que usar sin [-f] no deshabilitará o habilitará el módulo y mostrará advertencias como
después de usar el comando con el indicador [-f] se resolverá este problema
por favor revise la advertencia cuando esté usando el comando con fuerza
Alerta: Usaste la opción --force. Como resultado, los módulos pueden no funcionar correctamente.
Puede consultar la información completa aquí también http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- módulos
ACTUALIZAR: Después de una actualización principal de Magento 2, la respuesta de klara es ahora la mejor manera de deshabilitar la funcionalidad Comparar. Porfavor lea abajo !
Para deshabilitar la funcionalidad de la Lista de deseos, debe ir a la administración, en Tiendas> Configuración> Clientes> Lista de deseos y elegir Activado: No.
Para deshabilitar la funcionalidad Comparar, no hay opción en la administración. Necesitas anular elmodule-catalog/view/frontend/templates/product/list.phtml
plantilla.
Para hacerlo, debe copiar el contenido del archivo que mencioné anteriormente en un nuevo archivo dentro de su tema ubicado debajo <theme_dir>/Magento_Catalog/templates/product/list.phtml
. Luego, desea eliminar las líneas en cuestión:
<?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>
Esos están en las líneas 111 a 121 en Magento 2.0.1
para deshabilitar la barra lateral:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
para eliminar el "Add to compare"
enlace en la página del producto, debe sobrescribir el Magento_Catalog/templates/product/view/addto.phtml
archivo en su tema y eliminar el ancla de comparación allí. De esta manera, puede mantener la lista de deseos pero eliminar la funcionalidad de comparación.
Para Magento 2.1.x
Agregar un archivo default.xml a su tema en: /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>
Esta es una extensión de otras soluciones proporcionadas aquí. Use el archivo /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
y agregue lo siguiente
<?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>
Después de probar todos los métodos anteriores para las páginas de productos individuales, encontré el único archivo que importaba en mi caso, con un tema instalado, pero utilizando mi propio tema secundario addtocart.phtml
. Otras opciones funcionarán para la vista de categoría de cuadrícula y la vista de categoría de lista (las mencionadas anteriormente list.phtml
, pero en páginas de productos individuales:
<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>
Esto necesita ser comentado. Horas y horas de intentarlo y fue este archivo.
Si alguien encuentra lo contrario, ¡hágamelo saber!
M2.1 solución rápida y fácil.
Si no desea crear un tema personalizado y / o prefiere trabajar desde el backend, puede hacer lo siguiente en el backend. Navegue a la página cms, categoría o página del producto que desea modificar. Ejemplo de página de categoría: en Diseño -> Actualización de diseño XML, agregue el siguiente código:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
Nota: si desea que permanezcan bloques adicionales en la barra lateral, establezca el contenedor adicional en "falso" de esta manera:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
La lista de deseos se puede deshabilitar a través del backend, como está escrito en otras respuestas.
Hay un módulo FOSS que puede eliminar la función de comparación en un nivel por vista de tienda:
https://github.com/Joshua29LK/disable-compare-magento-2
Hice una breve reseña:
Estoy usando el tema Ultimo en Magento 2.3.3. No pude deshabilitar el enlace de comparación del archivo catalog_product_view.xml del tema ya que la configuración no proviene de allí, sino que se encuentra en:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Fui por la solución rápida y sucia, simplemente eliminé lo siguiente:
<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>
El botón de comparación desaparece para siempre, sin embargo, si realiza una actualización de Magento, volverá, por lo que deberá eliminarlo nuevamente.
Puede usar este módulo pago para deshabilitar la comparación en magento 2 ($ 20).
http://www.mage20.com/magento-2-disable-compare.html
Caracteristicas :