Jak wyłączyć recenzje Magento 2


24

Próbuję wyłączyć funkcję recenzji produktów Magento 2. Próbowałem wyłączyć moduł w sklepach administracyjnych Magento 2 \ Advanced \ Advanced \ Magento_Review, ale karta opinii na każdym produkcie nadal tam jest. Czy jest jakiś sposób, aby to wyłączyć? Wiem na pewno, że możemy to wyłączyć w Magento 1.

Odpowiedzi:


1

Zamiast tego użyj opcji wiersza polecenia:

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

Jeśli chcesz opróżnić pamięć podręczną:

php bin/magento cache:flush

(Uruchom go z katalogu głównego swojego Magento 2 reż)


15
Teraz nie jest to możliwe w M2.2. Ma zbyt wiele zależności.
Anthony

8
Nie można wyłączyć Magento_Review, ponieważ moduły zależą od wielu modułów rdzenia.
mahmoudismail,

Nie jest to możliwe, ponieważ moduł przeglądu ma wiele zależności w M2.
Rishabh Rk Rai

51

Wyłączenie modułu w wierszu poleceń rozwiązuje błędy w różnych miejscach. Lepszym pomysłem jest ukrycie go za pomocą XML. Wystarczy utworzyć motyw podrzędny (jeśli jeszcze go nie masz) w następujący sposób:

Jak stworzyć motyw podrzędny w Magento 2

a następnie w ramach motywu podrzędnego utwórz:

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

i dodaj to:

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

Pamiętaj, że wszystkie recenzje znajdują się na stronie recenzji w zakładce klienta (wyłącz też). Świetnie działa w 2.1.7. Działa tak samo, gdy jest dodawany tylko do układu strony produktu.
Patryk Padus,

Dokładnie to, czego potrzebowałem!
wektor

1
rozwinąć na poście @Patryk Padus: <! - Usuń moje recenzje produktów -> <referenceBlock name = "customer-account-navigation-product-reviews-link" remove = "true" /> w Magento_Customer / layout / customer_account. xml
fogx

To powinna być poprawna odpowiedź. Nigdy nie powinniśmy wyłączać modułu Magento_Review. tak wiele innych modułów zależy od tego.
Magento Learner,

1
Działa dobrze w Magento 2.3.1
electroid

26

W Magento 2.0.2 pojawi się błąd, jeśli spróbujesz zaproponować @MagePsycho. Nadal możesz wyłączyć wyjście modułu, zmieniając jego status w Ustawieniach zaawansowanych Magento 2.

Sklepy> Konfiguracja> Zaawansowane> Zaawansowane i wyszukaj „Przegląd”.

Możesz później opróżnić pamięć podręczną.


3
To jest odpowiednie rozwiązanie. Moduł recenzji jest oznaczony jako zależność przez inne podstawowe moduły (takie jak Klient) i nie można go wyłączyć.
Mir

z sekcji magento 2.2 Sklepy> Konfiguracja> Zaawansowane> Zaawansowane zostało usunięte, weź odpowiedź Mike'a jako przyjętą.
LucScu,

1
Ale nie ma karty zaawansowanej w Magento 2.2.2
D Singh

8

W Magento 2.1 wyłączenie wyjścia zgodnie z sugestią @Max spowoduje kłopotliwe wyświetlanie w edytorze widoku produktu.

wprowadź opis zdjęcia tutaj

Niezbyt fajnie. Jest to spowodowane żądaniem Ajax, które kończy się w 503. I zauważysz, że jest jeszcze zakładka „Recenzje produktu”. Działa na wersji 2.0, ponieważ administrator nadal był renderowany w blokach trhough. Teraz odbywa się to za pomocą UiComponent.

„Produkt Tab Review” dodaje koryta adminhtml/di.xmlz 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>

Nie ma sposobu - a przynajmniej nie znalazł sposobu - na usunięcie argumentu. Musimy to przepisać w ten czy inny sposób.

Najpierw pomyślałem o zrobieniu wtyczki Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Ale przeglądanie kodu podstawowego sprawia, że ​​odkrywam Dummy.phpklasę. Więc w niestandardowym module utwórzadminhtml/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>

I nie zapomnij dodać <sequence><Magento_Review/>swojego module.xml. Ponieważ XML są scalane w precyzyjnej kolejności. Musi to być PO Magento_Review

I pamiętaj: Wyłączenie Ouput NIE wyłącza modułu, jak wspomina tytuł tego wątku. Ukryje to tylko:

  1. kontrolery będą nadal aktywne. Jeśli zrobisz post na temat właściwej akcji, kontroler nadal będzie działał, a na interfejsie pojawi się nawet komunikat „sukces”.

  2. nadal znajdziesz menu w adminie, w „Raporcie”

  3. nadal obowiązuje każda logika modelu, wtrysk, obserwatorzy.

W każdym razie, z mojego punktu widzenia, to wciąż najlepsze rozwiązanie. Ponieważ wymuszenie wyłączenia modułu module:disable -fwydaje się nieco trudne ...


Bardzo interesujące - wygląda na to, że Deventrzy Magento potrzebują więcej rzeczy. Bardzo dobry połów!
Maks.

8

Stwórz:

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

i dodaj to:

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

Dziękujemy, można tego również użyć w jednym produkcie w ramach Aktualizacji układu XML, aby usunąć recenzje dla określonego elementu.
dawhoo,

Wygląda na to, że przynajmniej link do nieistniejącego wówczas formularza recenzji wciąż pojawia się na stronach produktu. Można go ukryć za pomocą CSS, ukrywając .product-reviews-summary, ale może jest jeszcze jedna zasada, którą można dodać, aby default.xmlją rzeczywiście usunąć?
ACJ

5

W Magento 2.2 powinieneś po prostu wyłączyć go w app / etc / config.php

'Magento_Review' => 0,

1
Wykonanie tej czynności nie sprawdza zależności modułu i może spowodować nieoczekiwane zachowanie.
Yonn Trimoreau

Tak, działa w Magento 2.2.2
D Singh

5

Przynajmniej w Magento 2.3 Commerce możesz wyłączyć Recenzje w adminie w Sklepach> Konfiguracja> Katalog> Recenzje produktów wprowadź opis zdjęcia tutaj


3

php bin/magento module:disable -f Magento_Reviewaby wyłączyć moduł, na którym polegają inne moduły. Należy to zrobić najpierw w środowisku testowym, aby można było zauważyć każdą przerwę w działaniu.


2

Sklepy> Konfiguracja> Zaawansowane> Zaawansowane i wyszukaj „Recenzję”

albo

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


2

W Magento 2.2.5 przynajmniej po prostu wyłączyć moduł wyjściowy poprzez app/etc/config.phpwydaje się cudów pracy:

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

Usuwa to powiązane dane wyjściowe modułu (formularze, wiadomości) z frontów sklepowych, a także interfejs administratora.


0

Tylko jedna wiadomość, że w Magento 2.3.0 sytuacja uległa poprawie (ponieważ w interfejsie użytkownika nie są wyświetlane żadne błędy, gdy nie instaluje się przeglądu modułów), jednak kompilacja DI nadal nie udaje się, jak Magento\Review\Block\Adminhtml\Gridto jest wspomniane Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Najlepszym rozwiązaniem jest wyłączenie wyjścia modułu lub całkowite wyłączenie modułu (ale nadal automatyczne ładowanie kodu).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.