Cómo deshabilitar las reseñas de Magento 2

24

Estoy tratando de desactivar la función de revisión de productos de Magento 2. Intenté deshabilitar el módulo en Magento 2 admin Stores \ Advanced \ Advanced \ Magento_Review, pero la pestaña de revisiones de cada producto todavía está allí. Hay alguna manera de desactivarlo? Sé con certeza que podríamos desactivarlo en Magento 1.

Omry Zobel
fuente

Respuestas:

1

Use la opción de línea de comando en su lugar:

php bin/magento module:disable --clear-static-content Magento_Review

Si desea vaciar el caché:

php bin/magento cache:flush

(Ejecútelo desde la raíz de su directorio de Magento 2)

MagePsycho
fuente
15
Ahora no es posible en M2.2. Tiene demasiadas dependencias.
Anthony
8
No se puede deshabilitar Magento_Review porque los módulos dependen de muchos módulos principales.
mahmoudismail el
Esto no es posible ya que el módulo de Revisión tiene muchas dependencias en M2.
Rishabh Rk Rai
51

Deshabilitar el módulo en la línea de comandos se resuelve en errores en diferentes lugares. Una mejor idea es ocultarlo con XML. Simplemente cree un tema secundario (si aún no tiene uno) como este:

Cómo crear un tema infantil en Magento 2

y luego, dentro del tema de su hijo, cree:

app / design / frontend / company_name / theme_name / Magento_Theme / layout / default.xml

y agrega esto:

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="reviews.tab" remove="true" />
        <referenceBlock name="product.review.form" remove="true" />
        <referenceBlock name="product.info.review" remove="true" />
    </body>
</page>
Micro
fuente
Recuerde que todas las revisiones están en la página de revisión en la pestaña del cliente (deshabilitar también) Funciona muy bien en 2.1.7. Trabaja igual cuando se agrega solo en el diseño de página del producto.
Patryk Padus
¡Exactamente lo que necesitaba!
vector
1
para expandir en la publicación @Patryk Padus: <! - Eliminar mis comentarios de productos -> <referenceBlock name = "customer-account-navigation-product-reviews-link" remove = "true" /> en Magento_Customer / layout / customer_account. xml
fogx
Esta debería ser la respuesta correcta. Nunca debemos deshabilitar el módulo Magento_Review. muchos otros módulos dependen de ello.
Magento Learner
1
Funciona bien en magento 2.3.1
electroide
26

En Magento 2.0.2 obtendrá un error si intenta lo que sugirió @MagePsycho. Aún puede deshabilitar la salida del módulo cambiando su estado en la Configuración avanzada de Magento 2.

Tiendas> Configuración> Avanzado> Avanzado y busque "Revisar".

Es posible que desee vaciar el caché después.

Max
fuente
3
Este es el camino a seguir. El módulo de comentarios está marcado como una dependencia por otros módulos principales (como el Cliente) y no se puede deshabilitar.
Mir
de la sección 2.2 de magento Tiendas> Configuración> Avanzado> Avanzado se elimina, tome la respuesta de Mike como aceptada.
LucScu
1
Pero no hay una pestaña avanzada en Magento 2.2.2
D Singh
8

En Magento 2.1 , deshabilitar la salida como sugirió @Max, causará un popin problemático en la edición de la vista del producto.

ingrese la descripción de la imagen aquí

No muy bien Es causado por una Solicitud de Ajax, que finaliza en 503. Y notará que todavía hay una pestaña de "Reseñas de productos". Funcionó en 2.0 porque el administrador todavía se procesó a través de bloques. Ahora, se hace con UiComponent.

La "Pestaña de revisión del producto" se agrega a través adminhtml/di.xmlde Magento_Review

  <virtualType name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool">
        <arguments>
            <argument name="modifiers" xsi:type="array">
                <item name="review" xsi:type="array">
                    <item name="class" xsi:type="string">Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review</item>
                    <item name="sortOrder" xsi:type="number">20</item>
                </item>
            </argument>
        </arguments>
    </virtualType>

No hay forma, o al menos no encontró cómo, de eliminar un argumento. Entonces tenemos que reescribirlo, de una forma u otra.

Primero pensé en hacer un complemento Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Pero hurgar en el código central me hace descubrir una Dummy.phpclase. Entonces, en un módulo personalizado, cree unadminhtml/di.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <virtualType name="Magento\Catalog\Ui\DataProvider\Product\Form\Modifier\Pool">
        <arguments>
            <argument name="modifiers" xsi:type="array">
                <item name="review" xsi:type="array">
                    <item name="class" xsi:type="string">Magento\Ui\DataProvider\Modifier\Dummy</item>
                </item>
            </argument>
        </arguments>
    </virtualType>
</config>

Y no olvides agregar <sequence><Magento_Review/>tu module.xml. Porque XML se fusionan en un orden preciso. Tiene que ser DESPUÉS de Magento_Review

Y tenga en cuenta: Deshabilitar Ouput NO es deshabilitar el Módulo, como se menciona en el título de este hilo. Solo lo ocultará:

  1. Los controladores seguirán activos. Si publica una publicación sobre la acción adecuada, el controlador seguirá funcionando e incluso tendrá un mensaje de "éxito" en la interfaz.

  2. aún encontrará menús en admin, en "Informe"

  3. toda lógica modelo, inyección, observadores aún se aplicarán.

De todos modos, desde mi punto de vista, sigue siendo la mejor solución. Porque forzar la desactivación del módulo module:disable -fparece un poco duro ...

Pol Ravalitera
fuente
Muy interesante: parece que los desarrolladores de Magento necesitan aplanar más cosas. Muy buena captura!
Max
8

crear:

app / design / frontend / company_name / theme_name / Magento_Theme / layout / default.xml

y agrega esto:

<?xml version="1.0"?>
<page layout="3columns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
      ...
      ...
         <referenceBlock name="reviews.tab" remove="true" />
         <referenceBlock name="customer-account-navigation-product-reviews-link" remove="true" />
         <referenceBlock name="customer_account_dashboard_info1" remove="true" />
         <referenceBlock name="review_customer_list" remove="true" />
         <referenceBlock name="customers_review" remove="true" />
         <referenceBlock name="product.review.form" remove="true" />
         <referenceBlock name="review_view" remove="true" />
         <referenceBlock name="product.info.product_additional_data" remove="true" />

      ...
      ...
 </body>
</page>
Ketan Borada
fuente
Gracias, esto también se puede utilizar en un solo producto en Layout Update XML para eliminar las revisiones de un artículo específico.
dawhoo
Parece que al menos un enlace al formulario de revisión no existente aún aparece en las páginas del producto. Se puede ocultar con CSS al ocultarlo .product-reviews-summary, pero ¿tal vez hay otra regla que se pueda agregar para default.xmleliminarlo?
ACJ
5

En Magento 2.2, solo debe deshabilitarlo en la aplicación / etc / config.php

'Magento_Review' => 0,
Erjen Rijnders
fuente
1
Hacer esto no verifica las dependencias del módulo y puede provocar un comportamiento inesperado.
Yonn Trimoreau
Sí, está funcionando en Magento 2.2.2
D Singh
5

Al menos en Magento 2.3 Commerce, puede deshabilitar las Revisiones en admin en Tiendas> Configuración> Catálogo> Reseñas de productos ingrese la descripción de la imagen aquí

siliconrockstar
fuente
3

php bin/magento module:disable -f Magento_Reviewpara deshabilitar un módulo en el que se basan otros módulos. Debe hacerse primero en el entorno de prueba para que se note cualquier interrupción en la funcionalidad.

Claudiu Creanga
fuente
2

Tiendas> Configuración> Avanzado> Avanzado y busque "Revisar"

si no

app / etc / config.php 'Magento_Review' => 0,

Alegría
fuente
2

En Magento 2.2.5 al menos, simplemente desactivando la salida del módulo a través app/etc/config.phpparece hacer maravillas:

'system' => [
    'default' => [
        'advanced' => [
            'modules_disable_output' => [
                'Magento_Review' => '1',
                'Magento_Newsletter' => '1',
            ],
        ],
        // … other config
    ],
],

Esto elimina la salida del módulo relacionado (formularios, mensajes) de los frentes de las tiendas, así como de la interfaz de administración.

Emma
fuente
0

Solo un aviso de que en Magento 2.3.0 la situación mejora (ya que no se muestran errores en la interfaz cuando no se instala la revisión del módulo), sin embargo, la compilación DI todavía falla como Magento\Review\Block\Adminhtml\Gridse hace referencia en Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Lo mejor es deshabilitar la salida del módulo o deshabilitar el módulo por completo (pero todavía tiene el código cargado automáticamente).

Erfan
fuente