Como desativar o Magento 2 comentários

24

Estou tentando desativar o recurso de comentários do produto Magento 2. Tentei Desabilitar o módulo nas lojas administrativas \ Magento \ Advanced \ Advanced \ Magento_Review do Magento 2, mas a guia de comentários de cada produto ainda está lá. Existe alguma maneira de desativá-lo? Eu tenho certeza que poderíamos desativá-lo no Magento 1.

Omry Zobel
fonte

Respostas:

1

Use a opção de linha de comando:

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

Se você deseja liberar o cache:

php bin/magento cache:flush

(Execute-o a partir da raiz do seu Magento 2 dir)

Mago Psico
fonte
15
Agora não é possível no M2.2. Tem muitas dependências.
Anthony
8
Não é possível desativar o Magento_Review porque os módulos dependem do núcleo de muitos módulos.
precisa saber é o seguinte
Isso não é possível, pois o módulo Review possui muitas dependências no M2.
Rishabh Rk Rai
51

Desativar o módulo na linha de comando resolve erros em diferentes locais. Uma idéia melhor é ocultá-lo com XML. Basta criar um tema filho (se você ainda não tiver um) como este:

Como criar um tema filho no Magento 2

e, em seguida, dentro do seu tema filho, crie:

app / design / frontend / nome_da_empresa / nome_da_ tema / Tema_ Magento / layout / default.xml

e adicione isto:

<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>
Mike
fonte
Lembre-se de que todas as revisões estão na página de revisão na guia do cliente (desative também). Funciona muito bem no 2.1.7. Funcione da mesma forma quando adicionado apenas ao layout da página do produto.
Patryk Padus
Exatamente o que eu precisava!
vector
1
para expandir na publicação do @Patryk Padus: <! - Remover minhas análises de produtos -> <referenceBlock name = "customer-account-navigation-product-reviews-link" remove = "true" /> em Magento_Customer / layout / customer_account. xml
fogx 28/03
Essa deve ser a resposta correta. Nunca devemos desativar o módulo Magento_Review. tantos outros módulos dependem disso.
Magento Learner
1
Funciona bem no magento 2.3.1
electroid
26

No Magento 2.0.2, você receberá um erro se tentar o que o @MagePsycho sugeriu. Você ainda pode desativar a saída do módulo alterando seu status nas Configurações avançadas do Magento 2.

Lojas> Configuração> Avançado> Avançado e pesquise "Revisão".

Você pode liberar o cache posteriormente.

Máx.
fonte
3
Este é o caminho a percorrer. O módulo Revisões é marcado como uma dependência por outros módulos principais (como o Cliente) e não pode ser desativado.
Mir
da seção magento 2.2 O Shops> Configuration> Advanced> Advanced foi removido, aceite a resposta de Mike como aceita.
LucScu
1
Mas não há nenhuma guia avançado em Magento 2.2.2
D Singh
8

No Magento 2.1 , desabilitar a saída como sugerido pelo @Max, causará um pop-up problemático na edição da visualização do produto.

insira a descrição da imagem aqui

Não é muito legal. É causada por uma solicitação do Ajax, que termina em 503. E você notará que ainda há uma guia "Revisões do produto". Ele funcionou no 2.0 porque o administrador ainda era processado através de blocos. Agora, é feito com o UiComponent.

A "Guia Revisão do produto" é adicionada através adminhtml/di.xmldo 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>

Não há como - ou pelo menos não encontrou como - remover um argumento. Então, temos que reescrevê-lo, de uma maneira ou de outra.

Primeiro eu pensei em fazer um plugin Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Mas pesquisar no código principal me faz descobrir uma Dummy.phpclasse. Portanto, em um módulo personalizado, crie umadminhtml/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>

E não se esqueça de adicionar o <sequence><Magento_Review/>seu module.xml. Porque o XML é mesclado em uma ordem precisa. Tem que ser APÓS Magento_Review

E observe: Desabilitar Ouput NÃO está desabilitando o Módulo, pois o título deste segmento é mencionado. Apenas o ocultará:

  1. controladores ainda estarão ativos. Se você publicar uma ação apropriada, o controlador continuará funcionando e você receberá uma mensagem de "sucesso" no front-end.

  2. você ainda encontrará menus no admin, em "Relatório"

  3. toda lógica de modelo, injeção, observadores ainda será aplicada.

Enfim, do meu ponto de vista, ainda é a melhor solução. Porque forçar a desativação do módulo com module:disable -fparece um pouco duro ...

Pol Ravalitera
fonte
Muito interessante - parece que os Magento Devs precisam planejar mais coisas. Muito boa captura!
Max
8

crio:

app / design / frontend / nome_da_empresa / nome_da_ tema / Tema_ Magento / layout / default.xml

e adicione isto:

<?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
fonte
Obrigado, isso também pode ser usado em um único produto em XML de atualização de layout para remover revisões de um item específico.
Dawhoo 10/10
Parece que pelo menos um link para o formulário de revisão inexistente ainda aparece nas páginas do produto. Ele pode ser oculto com CSS ocultado .product-reviews-summary, mas talvez haja outra regra que possa ser adicionada default.xmlpara realmente removê-lo?
ACJ
5

No Magento 2.2, você deve desativá-lo no app / etc / config.php

'Magento_Review' => 0,
Erjen Rijnders
fonte
1
Fazer isso não verifica dependências do módulo e pode resultar em comportamento inesperado.
Yonn Trimoreau
Sim, está funcionando no Magento 2.2.2
D Singh
5

No Magento 2.3 Commerce, pelo menos, você pode desativar as Revisões no admin em Lojas> Configuração> Catálogo> Revisões do produto insira a descrição da imagem aqui

siliconrockstar
fonte
3

php bin/magento module:disable -f Magento_Reviewpara desativar um módulo no qual outros módulos dependem. Isso deve ser feito primeiro no ambiente de teste, para que qualquer falha na funcionalidade seja notada.

Claudiu Creanga
fonte
2

Lojas> Configuração> Avançado> Avançado e procure por "Review"

se não

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

Alegria
fonte
2

Pelo menos no Magento 2.2.5, simplesmente desabilitar a saída do módulo através app/etc/config.phpparece fazer maravilhas:

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

Isso remove a saída do módulo relacionado (formulários, mensagens) das frentes de loja, bem como da interface administrativa.

Emma
fonte
0

Apenas lembre-se de que, no Magento 2.3.0, a situação é melhorada (como nenhum erro é mostrado no frontend ao não instalar a revisão do módulo), no entanto, a compilação do DI ainda falha como Magento\Review\Block\Adminhtml\Grid está sendo mencionado Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

O melhor é ainda desativar a saída do módulo ou desativá-lo completamente (mas ainda assim o código é carregado automaticamente).

Erfan
fonte