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.