So deaktivieren Sie Magento 2-Überprüfungen


24

Ich versuche, die Magento 2-Funktion für Produktbewertungen zu deaktivieren. Ich habe versucht, das Modul in den Magento 2 Admin Stores \ Advanced \ Advanced \ Magento_Review zu deaktivieren, aber die Registerkarte "Überprüfungen" für jedes Produkt ist noch vorhanden. Gibt es eine Möglichkeit, es zu deaktivieren? Ich bin mir sicher, dass wir es in Magento 1 deaktivieren können.

Antworten:


1

Verwenden Sie stattdessen die Befehlszeilenoption:

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

Wenn Sie den Cache leeren möchten:

php bin/magento cache:flush

(Führen Sie es aus dem Stammverzeichnis Ihres Magento 2-Verzeichnisses aus.)


15
Jetzt ist es in M2.2 nicht möglich. Es gibt zu viele Abhängigkeiten.
Anthony

8
Magento_Review kann nicht deaktiviert werden, da Module von vielen Modulen abhängig sind.
Mahmoudismail

Dies ist nicht möglich, da das Überprüfungsmodul viele Abhängigkeiten in M2 hat.
Rishabh Rk Rai

51

Durch Deaktivieren des Moduls in der Befehlszeile werden Fehler an verschiedenen Stellen behoben. Eine bessere Idee ist, es mit XML zu verstecken. Erstellen Sie einfach ein untergeordnetes Thema (falls Sie noch keines haben) wie folgt:

So erstellen Sie ein untergeordnetes Thema in Magento 2

und erstellen Sie dann in Ihrem untergeordneten Thema:

app / design / frontend / firmenname / themenname / Magento_Theme / layout / default.xml

und füge dies hinzu:

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

Denken Sie daran, dass sich alle Bewertungen auf der Seite "Bewertungen" auf der Registerkarte "Kunden" befinden (auch deaktivieren). Funktioniert hervorragend in 2.1.7. Funktioniert genauso, wenn nur das Layout der Produktseite hinzugefügt wird.
Patryk Padus

Genau das was ich brauchte!
Vektor

1
Zum Erweitern des @ Patryk Padus-Beitrags: <! - Meine Produktbewertungen entfernen -> <referenceBlock name = "Kundenkonto-Navigations-Produktbewertungen-Link" remove = "true" /> in Magento_Customer / layout / customer_account. xml
fogx

Dies sollte die richtige Antwort sein. Wir sollten das Modul Magento_Review niemals deaktivieren. so viele andere Module hängen davon ab.
Magento Learner

1
Funktioniert gut in magento 2.3.1
Electroid

26

In Magento 2.0.2 erhalten Sie eine Fehlermeldung, wenn Sie versuchen, was @MagePsycho vorgeschlagen hat. Sie können die Modulausgabe weiterhin deaktivieren, indem Sie den Status in den erweiterten Einstellungen von Magento 2 ändern.

Shops> Konfiguration> Erweitert> Erweitert und suchen Sie nach "Überprüfen".

Möglicherweise möchten Sie den Cache anschließend leeren.


3
Dies ist der richtige Weg. Das Überprüfungsmodul wird von anderen Kernmodulen (z. B. dem Kunden) als Abhängigkeit markiert und kann nicht deaktiviert werden.
Mir

von magento 2.2 Abschnitt Shops> Konfiguration> Erweitert> Erweitert entfernt, nimm Mikes Antwort als angenommen.
LucScu

1
In Magento 2.2.2
D Singh

8

In Magento 2.1 führt das Deaktivieren der Ausgabe, wie von @Max empfohlen, zu einem fehlerhaften Pop-in in der Produktansicht.

Bildbeschreibung hier eingeben

Nicht sehr cool. Es wird durch eine Ajax-Anfrage verursacht, die in 503 endet. Und Sie werden feststellen, dass es noch eine Registerkarte "Produktbewertungen" gibt. Es funktionierte auf 2.0, da der Admin immer noch durch Blöcke gerendert wurde. Nun ist es mit UiComponent erledigt.

Der "Product Review Tab" wird adminhtml/di.xmlüber Magento_Review hinzugefügt

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

Es gibt keine Möglichkeit, ein Argument zu entfernen - oder zumindest nicht, wie man es findet. Also müssen wir es so oder so umschreiben.

Zuerst dachte ich daran, ein Plugin zu machen Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Aber das Durchstöbern des Kerncodes lässt mich eine Dummy.phpKlasse entdecken . Erstellen Sie also in einem benutzerdefinierten Modul einadminhtml/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>

Und vergessen Sie nicht, <sequence><Magento_Review/>in Ihrem hinzuzufügen module.xml. Weil XML in einer genauen Reihenfolge zusammengeführt werden. Es muss NACH Magento_Review sein

Und bitte beachte: Beim Deaktivieren von Ouput wird das Modul NICHT deaktiviert, da der Titel dieses Threads erwähnt wird. Es wird es nur verbergen:

  1. Controller sind weiterhin aktiv. Wenn Sie einen Beitrag zur richtigen Aktion verfassen, funktioniert der Controller weiterhin, und Sie erhalten sogar eine Erfolgsmeldung im Frontend.

  2. Sie finden immer noch Menüs in Admin, in "Bericht"

  3. Jede Modelllogik, Injektion, Beobachter wird weiterhin gelten.

Jedenfalls ist es aus meiner Sicht immer noch die beste Lösung. Weil das Erzwingen der Deaktivierung des Moduls mit module:disable -fein bisschen hart scheint ...


Sehr interessant - scheint, als müssten die Magento-Entwickler mehr Dinge zusammenfassen. Sehr guter Fang!
Max

8

erstellen:

app / design / frontend / firmenname / themenname / Magento_Theme / layout / default.xml

und füge dies hinzu:

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

Vielen Dank, dies kann auch in einem einzelnen Produkt unter Layout Update XML verwendet werden, um Überprüfungen für ein bestimmtes Element zu entfernen.
dawhoo

Es erscheint zumindest ein Link zu dem dann noch nicht vorhandenen Bewertungsformular auf den Produktseiten. Es kann durch Ausblenden mit CSS ausgeblendet werden .product-reviews-summary, aber gibt es vielleicht eine andere Regel, die hinzugefügt werden kann, default.xmlum es tatsächlich zu entfernen?
ACJ

5

In Magento 2.2 sollten Sie es einfach in der app / etc / config.php deaktivieren

'Magento_Review' => 0,

1
Hierbei wird nicht nach Modulabhängigkeiten gesucht, und es kann zu unerwartetem Verhalten kommen.
Yonn Trimoreau

Ja, es funktioniert in Magento 2.2.2
D Singh

4

Zumindest in Magento 2.3 Commerce können Sie Reviews in admin unter Stores> Configuration> Catalog> Product Reviews deaktivieren Bildbeschreibung hier eingeben


3

php bin/magento module:disable -f Magento_ReviewDeaktivieren eines Moduls, auf das andere Module angewiesen sind. Dies muss zuerst in einer Testumgebung durchgeführt werden, damit eine Unterbrechung der Funktionalität bemerkt wird.


2

Shops> Konfiguration> Erweitert> Erweitert und nach "Überprüfen" suchen

oder aber

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


2

In Magento 2.2.5 zumindest einfach deaktivieren Modulleistung durch app/etc/config.phpscheint zu wirken Wunder:

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

Dadurch werden die zugehörigen Modulausgaben (Formulare, Nachrichten) von den Geschäftsfronten sowie von der Administrationsoberfläche entfernt.


0

Nur ein Hinweis darauf, dass in Magento 2.3.0 die Situation verbessert ist (da im Frontend keine Fehler angezeigt werden, wenn Module-Review nicht installiert wird), die DI-Kompilierung jedoch weiterhin fehlschlägt, wie Magento\Review\Block\Adminhtml\Gridin verwiesen wird Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Am besten ist es immer noch, die Modulausgabe zu deaktivieren oder das Modul vollständig zu deaktivieren (aber den Code immer noch automatisch laden zu lassen).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.