Comment désactiver Magento 2 avis


24

J'essaie de désactiver la fonction d'avis sur les produits Magento 2. J'ai essayé de désactiver le module dans les magasins d'administration de Magento 2 \ Advanced \ Advanced \ Magento_Review, mais l'onglet avis sur chaque produit est toujours là. Existe-t-il un moyen de le désactiver? Je suis sûr que nous pourrions le désactiver dans Magento 1.

Réponses:


1

Utilisez plutôt l'option de ligne de commande:

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

Si vous souhaitez vider le cache:

php bin/magento cache:flush

(Exécutez-le à partir de la racine de votre répertoire Magento 2)


15
Maintenant, ce n'est pas possible dans M2.2. Il a trop de dépendances.
Anthony

8
Impossible de désactiver Magento_Review car les modules dépendent du noyau de nombreux modules.
mahmoudismail

Ce n'est pas possible car le module Review a beaucoup de dépendances dans M2.
Rishabh Rk Rai

51

La désactivation du module sur la ligne de commande résout les erreurs à différents endroits. Une meilleure idée est de le cacher avec XML. Créez simplement un thème enfant (si vous n'en avez pas déjà un) comme ceci:

Comment créer un thème enfant dans Magento 2

puis à l'intérieur de votre thème enfant, créez:

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

et ajoutez ceci:

<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>

N'oubliez pas que tous les avis sont dans la page d'avis dans l'onglet client (désactivez-le également). Fonctionne très bien dans 2.1.7. Fonctionne de la même manière lorsqu'il est ajouté uniquement sur la mise en page de la page produit.
Patryk Padus

Exactement ce dont j'avais besoin!
vecteur

1
pour développer la publication @Patryk Padus: <! - Supprimer mes avis sur les produits -> <referenceBlock name = "customer-account-navigation-product-reviews-link" remove = "true" /> dans Magento_Customer / layout / customer_account. xml
fogx

Ce devrait être la bonne réponse. Nous ne devons jamais désactiver le module Magento_Review. tant d'autres modules en dépendent.
Magento Learner

1
Fonctionne bien dans magento 2.3.1
electroid

26

Dans Magento 2.0.2, vous obtiendrez une erreur si vous essayez ce que @MagePsycho a suggéré. Vous pouvez toujours désactiver la sortie du module en modifiant son état dans les paramètres avancés de Magento 2.

Boutiques> Configuration> Avancé> Avancé et recherchez "Review".

Vous voudrez peut-être vider le cache par la suite.


3
C'est la voie à suivre. Le module d'avis est marqué comme une dépendance par d'autres modules principaux (comme le client) et ne peut pas être désactivé.
Mir

de la section magento 2.2 Boutiques> Configuration> Avancé> Avancé est supprimé, prenez la réponse de Mike comme acceptée.
LucScu

1
Mais il n'y a pas d'onglet avancé dans Magento 2.2.2
D Singh

8

Dans Magento 2.1 , la désactivation de la sortie comme l'a suggéré @Max, provoquera un popin gênant dans la modification de la vue du produit.

entrez la description de l'image ici

Pas très cool. Elle est causée par une demande Ajax, qui se termine en 503. Et vous remarquerez qu'il y a toujours un onglet "Product Reviews". Cela a fonctionné sur 2.0 car l'administrateur était toujours rendu par blocs. Maintenant, c'est fait avec UiComponent.

La « revue de produit Tab » est ajouté creux la 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>

Il n'y a aucun moyen - ou du moins n'a pas trouvé comment - de supprimer un argument. Nous devons donc le réécrire, d'une manière ou d'une autre.

J'ai d'abord pensé à faire un plugin Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Mais fouiller dans le code de base me fait découvrir une Dummy.phpclasse. Donc, dans un module personnalisé, créez 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>

Et n'oubliez pas d'ajouter <sequence><Magento_Review/>votre module.xml. Parce que XML sont fusionnés dans un ordre précis. Cela doit être APRÈS Magento_Review

Et veuillez noter: désactiver Ouput ne désactive PAS le module, comme le titre de ce fil le mentionne. Il ne fera que le cacher:

  1. les contrôleurs seront toujours actifs. Si vous faites un post sur l'action appropriée, le contrôleur fonctionnera toujours et vous aurez même un message de "succès" sur le frontend.

  2. vous trouverez toujours des menus dans admin, dans "Rapport"

  3. chaque modèle de logique, injection, observateurs s'appliquera toujours.

Quoi qu'il en soit, de mon point de vue, c'est toujours la meilleure solution. Parce que forcer la désactivation du module avec module:disable -fsemble un peu dur ...


Très intéressant - il semble que les développeurs de Magento doivent mettre plus de choses au point. Très bonne prise!
Max

8

créer:

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

et ajoutez ceci:

<?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>

Merci, cela peut également être utilisé dans un seul produit sous Mise à jour XML pour supprimer les avis pour un élément spécifique.
dawhoo

Il apparaît au moins un lien vers le formulaire de révision alors inexistant apparaît toujours sur les pages de produits. Il peut être masqué avec CSS en le masquant .product-reviews-summary, mais il y a peut-être une autre règle qui peut être ajoutée àdefault.xml supprimer?
ACJ

5

Dans Magento 2.2, vous devez simplement le désactiver dans app / etc / config.php

'Magento_Review' => 0,

1
Cela ne vérifie pas les dépendances du module et peut entraîner un comportement inattendu.
Yonn Trimoreau

Oui, cela fonctionne dans Magento 2.2.2
D Singh

5

Dans Magento 2.3 Commerce au moins, vous pouvez désactiver les avis dans l'administration dans Magasins> Configuration> Catalogue> Avis sur les produits entrez la description de l'image ici


3

php bin/magento module:disable -f Magento_Reviewpour désactiver un module sur lequel d'autres modules s'appuient. Cela doit être fait en premier dans l'environnement de test afin que toute rupture de fonctionnalité soit remarquée.


2

Boutiques> Configuration> Avancé> Avancé et recherchez "Review"

ou sinon

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


2

Magento 2.2.5 au moins, tout simplement désactiver la sortie du module à travers app/etc/config.phpsemble faire des merveilles:

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

Cela supprime la sortie du module associé (formulaires, messages) des devantures de magasin ainsi que l'interface d'administration.


0

Juste une remarque que dans Magento 2.3.0, la situation est améliorée (car aucune erreur n'est affichée sur le frontend lorsque vous n'installez pas la révision de module), mais la compilation DI échoue toujours comme indiqué Magento\Review\Block\Adminhtml\Griddans Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Le mieux est toujours de désactiver la sortie du module ou de désactiver complètement le module (mais toujours de charger le code automatiquement).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.