Come disabilitare le recensioni di Magento 2


24

Sto cercando di disabilitare la funzione di recensione dei prodotti Magento 2. Ho provato a disabilitare il modulo in Magento 2 admin Stores \ Advanced \ Advanced \ Magento_Review ma la scheda Recensioni su ciascun prodotto è ancora lì. C'è un modo per disabilitarlo? So per certo che potremmo disabilitarlo in Magento 1.

Risposte:


1

Utilizzare invece l'opzione della riga di comando:

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

Se si desidera svuotare la cache:

php bin/magento cache:flush

(Eseguilo dalla radice della tua directory Magento 2)


15
Ora non è possibile in M2.2. Ha troppe dipendenze.
Anthony,

8
Impossibile disabilitare Magento_Review perché i moduli dipendono dal nucleo di molti moduli.
Mahmoudismail

Ciò non è possibile poiché il modulo Revisione ha molte dipendenze in M2.
Rishabh Rk Rai,

51

La disabilitazione del modulo dalla riga di comando si risolve in errori in luoghi diversi. Un'idea migliore è quella di nasconderlo con XML. Crea un tema figlio (se non ne hai già uno) in questo modo:

Come creare un tema figlio in Magento 2

e poi all'interno del tuo tema figlio crea:

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

e aggiungi questo:

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

Ricorda che tutte le recensioni sono nella pagina delle recensioni nella scheda cliente (disabilita anche). Funziona alla grande in 2.1.7. Funziona allo stesso modo se aggiunto solo sul layout di pagina del prodotto.
Patryk Padus,

Esattamente quello di cui avevo bisogno!
vector il

1
per espandere il post di @Patryk Padus: <! - Rimuovi le mie recensioni di prodotti -> <referenceBlock name = "customer-account-navigation-product-reviews-link" remove = "true" /> in Magento_Customer / layout / customer_account. xml
fogx

Questa dovrebbe essere la risposta corretta. Non dovremmo mai disabilitare il modulo Magento_Review. così tanti altri moduli dipendono da questo.
Magento Learner

1
Funziona bene in Magento 2.3.1
electroid

26

In Magento 2.0.2 riceverai un errore se provi ciò che ha suggerito @MagePsycho. Puoi comunque disabilitare l'output del modulo modificandone lo stato nelle Impostazioni avanzate di Magento 2.

Negozi> Configurazione> Avanzate> Avanzate e cerca "Revisione".

In seguito potresti voler svuotare la cache.


3
Questa è la strada da percorrere. Il modulo Recensioni è contrassegnato come dipendenza da altri moduli principali (come il Cliente) e non può essere disabilitato.
Mir

dalla sezione 2.2 di magento Negozi> Configurazione> Avanzate> Avanzate viene rimosso, prendi la risposta di Mike come accettata.
LucScu,

1
Ma non c'è scheda avanzata in Magento 2.2.2
D Singh,

8

In Magento 2.1 , la disabilitazione dell'uscita come suggerito da @Max, causerà un problema fastidioso nella modifica della vista del prodotto.

inserisci qui la descrizione dell'immagine

Non molto figo. È causato da una richiesta Ajax, che termina nel 503. E noterai che è presente una scheda "Recensioni prodotto". Ha funzionato su 2.0 perché l'amministratore era ancora reso attraverso i blocchi. Ora ha finito con UiComponent.

Il "Product Review Tab" viene aggiunto attraverso la adminhtml/di.xmldi 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>

Non c'è modo - o almeno non ho trovato come - rimuovere un argomento. Quindi dobbiamo riscriverlo, in un modo o nell'altro.

Per prima cosa ho pensato di fare un plug-in Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Ma scavare nel codice di base mi fa scoprire una Dummy.phpclasse. Quindi in un modulo personalizzato, crea 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>

E non dimenticare di aggiungere il <sequence><Magento_Review/>tuo module.xml. Perché XML sono uniti in un ordine preciso. Deve essere DOPO Magento_Review

E nota: la disabilitazione di Ouput NON disabilita il Modulo, come menziona il titolo di questo thread. Lo nasconderà solo:

  1. i controller saranno ancora attivi. Se fai un post sull'azione corretta, il controller continuerà a funzionare e avrai anche un messaggio di "successo" sul frontend.

  2. troverai ancora i menu in admin, in "Rapporto"

  3. ogni modello logico, iniezione, osservatori continueranno ad applicarsi.

Ad ogni modo, dal mio punto di vista, rimane comunque la soluzione migliore. Perché forzare la disabilitazione del modulo con module:disable -fsembra un po 'duro ...


Molto interessante - sembra che gli sviluppatori Magento debbano appianare più cose. Ottima cattura!
Max

8

creare:

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

e aggiungi questo:

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

Grazie, questo può essere utilizzato anche in un singolo prodotto in XML aggiornamento layout per rimuovere le recensioni per un articolo specifico.
dawhoo,

Sembra che almeno un link al modulo di revisione allora inesistente sia ancora presente nelle pagine del prodotto. Può essere nascosto con CSS nascondendosi .product-reviews-summary, ma forse c'è un'altra regola che può essere aggiunta per default.xmlrimuoverlo effettivamente?
ACJ

5

In Magento 2.2, dovresti semplicemente disabilitarlo in app / etc / config.php

'Magento_Review' => 0,

1
Ciò non verifica le dipendenze del modulo e può comportare comportamenti imprevisti.
Yonn Trimoreau,

Sì, funziona in Magento 2.2.2
D Singh

5

Almeno in Magento 2.3 Commerce, puoi disabilitare Recensioni in admin su Negozi> Configurazione> Catalogo> Recensioni prodotti inserisci qui la descrizione dell'immagine


3

php bin/magento module:disable -f Magento_Reviewper disabilitare un modulo su cui si basano altri moduli. Deve essere eseguito prima nell'ambiente di test in modo da rilevare eventuali interruzioni della funzionalità.


2

Negozi> Configurazione> Avanzate> Avanzate e cerca "Revisione"

o altro

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


2

In Magento 2.2.5 almeno, semplicemente disabilitando uscita del modulo attraverso app/etc/config.phpsembra miracoli:

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

Ciò rimuove l'output del modulo correlato (moduli, messaggi) dai fronti dello store e dall'interfaccia di amministrazione.


0

Solo un avvertimento che in Magento 2.3.0 la situazione è migliorata (poiché in nessun caso vengono mostrati errori sul frontend quando non si installa la revisione del modulo), tuttavia la compilazione DI non riesce ancora come Magento\Review\Block\Adminhtml\Gridviene citata Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Il tuo meglio è ancora disabilitare l'output del modulo o disabilitare completamente il modulo (ma avere ancora il codice caricato automaticamente).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.