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.

Omry Zobel
quelle

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

MagePsycho
quelle
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>
Mike
quelle
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.

Max
quelle
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 ...

Pol Ravalitera
quelle
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>
Ketan Borada
quelle
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,
Erjen Rijnders
quelle
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

siliconrockstar
quelle
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.

Claudiu Creanga
quelle
2

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

oder aber

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

Freude
quelle
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.

Emma
quelle
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).

Erfan
quelle