Cara menonaktifkan ulasan Magento 2

24

Saya mencoba menonaktifkan fitur ulasan produk Magento 2. Saya mencoba Menonaktifkan Modul di admin Magento 2 Store \ Advanced \ Advanced \ Magento_Review tetapi tab ulasan pada setiap produk masih ada. Apakah ada cara untuk menonaktifkannya? Saya tahu pasti bahwa kami dapat menonaktifkannya di Magento 1.

Omry Zobel
sumber

Jawaban:

1

Gunakan opsi baris perintah sebagai gantinya:

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

Jika Anda ingin membersihkan cache:

php bin/magento cache:flush

(Jalankan dari root dir 2 Magento Anda)

MagePsycho
sumber
15
Sekarang tidak mungkin di M2.2. Ini memiliki terlalu banyak ketergantungan.
Anthony
8
Tidak dapat menonaktifkan Magento_Review karena modul bergantung pada banyak modul inti.
mahmoudismail
Ini tidak mungkin karena modul Ulasan memiliki banyak dependensi dalam M2.
Rishabh Rk Rai
51

Menonaktifkan modul pada baris perintah menyelesaikan kesalahan di tempat yang berbeda. Ide yang lebih baik adalah menyembunyikannya dengan XML. Cukup buat tema anak (jika Anda belum punya) seperti ini:

Cara membuat Tema Anak di Magento 2

dan kemudian di dalam tema anak Anda buat:

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

dan tambahkan ini:

<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
sumber
Ingat bahwa semua ulasan ada di halaman ulasan di tab pelanggan (nonaktifkan juga). Bekerja dengan baik di 2.1.7. Bekerja sama saat ditambahkan hanya pada tata letak halaman produk.
Patryk Padus
Apa yang saya butuhkan!
vektor
1
untuk memperluas pada posting @Patryk Padus: <! - Hapus Ulasan Produk Saya -> <referenceBlock name = "pelanggan-akun-navigasi-produk-ulasan-link" hapus = "benar" /> di Magento_Customer / layout / customer_account. xml
fogx
Ini seharusnya jawaban yang benar. Kita seharusnya tidak pernah menonaktifkan modul Magento_Review. begitu banyak modul lain yang bergantung padanya.
Magento Learner
1
Berfungsi dengan baik di magento 2.3.1
electroid
26

Di Magento 2.0.2 Anda akan mendapatkan kesalahan jika Anda mencoba apa yang disarankan oleh @MagePsycho. Anda masih dapat menonaktifkan output modul dengan mengubah statusnya di Pengaturan Lanjutan Magento 2.

Toko> Konfigurasi> Tingkat Lanjut> Tingkat Lanjut dan cari "Tinjau".

Anda mungkin ingin membersihkan cache setelahnya.

Maks
sumber
3
Ini cara untuk pergi. Modul Ulasan ditandai sebagai ketergantungan oleh modul inti lainnya (seperti Pelanggan) dan tidak dapat dinonaktifkan.
Mir
dari magento 2.2 bagian Toko> Konfigurasi> Lanjutan> Lanjutan dihapus, anggap jawaban Mike diterima.
LucScu
1
Tetapi tidak ada tab lanjut di Magento 2.2.2
D Singh
8

Di Magento 2.1 , menonaktifkan ouput seperti yang disarankan @Max, akan menyebabkan popin yang bermasalah dalam edit tampilan produk.

masukkan deskripsi gambar di sini

Tidak terlalu keren. Ini disebabkan oleh Permintaan Ajax, yang selesai pada 503. Dan Anda akan melihat bahwa masih ada tab "Ulasan Produk". Ini bekerja pada 2.0 karena admin masih diberikan blok trhough. Sekarang, ini dilakukan dengan UiComponent.

"Produk Ulasan Tab" ditambahkan palung adminhtml/di.xmldari 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>

Tidak ada cara - atau setidaknya tidak menemukan cara - untuk menghapus argumen. Jadi kita harus menulis ulang, dengan satu atau lain cara.

Pertama saya berpikir untuk melakukan plugin Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Tetapi menggali melalui kode inti membuat saya menemukan Dummy.phpkelas. Jadi dalam modul khusus, buat aadminhtml/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>

Dan jangan lupa untuk menambahkan <sequence><Magento_Review/>di module.xml. Karena XML digabungkan dalam urutan yang tepat. Itu harus SETELAH Magento_Review

Dan harap dicatat: Menonaktifkan Ouput TIDAK menonaktifkan Modul, karena judul utas ini disebutkan. Itu hanya akan menyembunyikannya:

  1. pengendali masih akan aktif. Jika Anda melakukan posting pada tindakan yang tepat, controller akan tetap berfungsi, dan Anda bahkan akan memiliki pesan "sukses" di frontend.

  2. Anda masih akan menemukan menu di admin, di "Laporkan"

  3. setiap model logika, injeksi, pengamat akan tetap berlaku.

Bagaimanapun, dari sudut pandang saya, itu masih solusi terbaik. Karena memaksa menonaktifkan modul dengan module:disable -ftampaknya agak keras ...

Pol Ravalitera
sumber
Sangat menarik - sepertinya para Devento Magento perlu membereskan lebih banyak hal. Tangkapan yang sangat bagus!
Maks.
8

membuat:

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

dan tambahkan ini:

<?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
sumber
Terima kasih, ini juga dapat digunakan dalam satu produk di bawah Layout Update XML untuk menghapus ulasan untuk item tertentu.
dawhoo
Tampaknya setidaknya tautan ke formulir ulasan yang saat itu tidak ada masih muncul di halaman produk. Itu bisa disembunyikan dengan CSS dengan bersembunyi .product-reviews-summary, tapi mungkin ada aturan lain yang bisa ditambahkan default.xmluntuk benar-benar menghapusnya?
ACJ
5

Di Magento 2.2, Anda harus menonaktifkannya di app / etc / config.php

'Magento_Review' => 0,
Erjen Rijnders
sumber
1
Melakukan ini tidak memeriksa dependensi modul dan dapat mengakibatkan perilaku yang tidak terduga.
Yonn Trimoreau
Ya, Ini berfungsi di Magento 2.2.2
D Singh
5

Di Magento 2.3 Commerce setidaknya, Anda dapat menonaktifkan Ulasan di admin di Toko> Konfigurasi> Katalog> Ulasan Produk masukkan deskripsi gambar di sini

siliconrockstar
sumber
3

php bin/magento module:disable -f Magento_Reviewuntuk menonaktifkan modul di mana modul lain bergantung. Itu harus dilakukan terlebih dahulu di lingkungan pengujian sehingga setiap kerusakan fungsi diperhatikan.

Claudiu Creanga
sumber
2

Toko> Konfigurasi> Tingkat Lanjut> Tingkat Lanjut dan cari "Tinjau"

atau

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

Kegembiraan
sumber
2

Setidaknya di Magento 2.2.5, cukup menonaktifkan keluaran modul melalui app/etc/config.phptampaknya bekerja dengan sangat baik:

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

Ini menghapus output modul terkait (formulir, pesan) dari front store serta antarmuka admin.

Emma
sumber
0

Hanya kepala bahwa di Magento 2.3.0 situasinya ditingkatkan (karena tidak ada kesalahan ditampilkan di frontend ketika tidak menginstal modul-review), namun kompilasi DI masih gagal seperti Magento\Review\Block\Adminhtml\Gridyang dirujuk Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Cara terbaik Anda adalah tetap menonaktifkan output modul atau menonaktifkan modul sepenuhnya (tetapi masih memiliki kode otomatis dimuat).

Erfan
sumber