Cách tắt đánh giá Magento 2


24

Tôi đang cố gắng vô hiệu hóa tính năng đánh giá sản phẩm Magento 2. Tôi đã thử vô hiệu hóa Mô-đun tại quản trị viên Magento 2 Store \ Advanced \ Advanced \ Magento_Review nhưng tab đánh giá trên mỗi sản phẩm vẫn còn đó. Có cách nào để vô hiệu hóa nó? Tôi biết chắc chắn rằng chúng tôi có thể vô hiệu hóa nó trong Magento 1.

Câu trả lời:


1

Sử dụng tùy chọn dòng lệnh thay thế:

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

Nếu bạn muốn xóa bộ đệm:

php bin/magento cache:flush

(Chạy nó từ thư mục gốc Magento 2 của bạn)


15
Bây giờ không thể có trong M2.2. Nó có quá nhiều phụ thuộc.
Anthony

8
Không thể tắt Magento_Review vì các mô-đun phụ thuộc vào nhiều mô-đun lõi.
mahmoudismail

Điều này là không thể vì mô-đun Xem lại có rất nhiều phụ thuộc trong M2.
Rishabh Rk Rai

51

Vô hiệu hóa mô-đun trên dòng lệnh sẽ giải quyết các lỗi ở những nơi khác nhau. Một ý tưởng tốt hơn là ẩn nó với XML. Chỉ cần tạo một chủ đề con (nếu bạn chưa có chủ đề này) như thế này:

Cách tạo Theme trẻ em trong Magento 2

và sau đó bên trong chủ đề con của bạn tạo ra:

ứng dụng / thiết kế / frontend / company_name / theme_name / Magento_Theme / layout / default.xml

và thêm cái này:

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

Hãy nhớ rằng tất cả các đánh giá đều nằm trong trang đánh giá trong tab khách hàng (cũng vô hiệu hóa). Làm việc tuyệt vời trong 2.1.7. Hoạt động tương tự khi chỉ thêm vào bố cục trang sản phẩm.
Patryk Padus

Chính xác những gì tôi cần!
véc tơ

1
để mở rộng trên bài đăng @Patryk Padus: <! - Xóa Đánh giá sản phẩm của tôi -> <ReferenceBlock name = "khách hàng-tài khoản-điều hướng-đánh giá-liên kết" remove = "true" /> trong Magento_Customer / layout / customer_account. xml
Fogx 28/03/18

Đây phải là câu trả lời chính xác. Chúng ta không bao giờ nên vô hiệu hóa mô-đun Magento_Review. rất nhiều mô-đun khác phụ thuộc vào nó.
Học viên Magento

1
Hoạt động tốt trong magento 2.3.1
electroid

26

Trong Magento 2.0.2, bạn sẽ gặp lỗi nếu bạn thử những gì @MagePologistso đã đề xuất. Bạn vẫn có thể vô hiệu hóa đầu ra mô-đun bằng cách thay đổi trạng thái của nó trong Cài đặt nâng cao của Magento 2.

Cửa hàng> Cấu hình> Nâng cao> Nâng cao và tìm kiếm "Đánh giá".

Bạn có thể muốn xóa bộ nhớ cache sau đó.


3
Đây là con đường để đi. Mô-đun đánh giá được đánh dấu là phụ thuộc bởi các mô-đun cốt lõi khác (như Khách hàng) và không thể bị tắt.
Mir

từ magento 2.2 phần Cửa hàng> Cấu hình> Nâng cao> Nâng cao bị xóa, hãy xem câu trả lời của Mike là được chấp nhận.
LucScu

1
Nhưng không có tab nâng cao trong Magento 2.2.2
D Singh

8

Trong Magento 2.1 , việc vô hiệu hóa ouput như @Max đề xuất, sẽ gây ra một thông báo rắc rối trong chỉnh sửa chế độ xem sản phẩm.

nhập mô tả hình ảnh ở đây

Không tuyệt lắm. Nó được gây ra bởi một Yêu cầu Ajax, kết thúc vào năm 503. Và bạn sẽ nhận thấy rằng có một ngưỡng "Đánh giá sản phẩm". Nó hoạt động trên 2.0 vì quản trị viên vẫn được kết xuất các khối trhough. Bây giờ, nó đã được thực hiện với UiComponent.

Các "Đánh giá sản phẩm Tab" được thêm vào máng sự adminhtml/di.xmlcủa 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>

Không có cách nào - hoặc ít nhất là không tìm thấy cách - để xóa một đối số. Vì vậy, chúng ta phải viết lại nó, bằng cách này hay cách khác.

Đầu tiên tôi nghĩ đến việc làm một plugin trên Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review. Nhưng việc đào qua mã lõi khiến tôi khám phá ra một Dummy.phplớp. Vì vậy, trong một mô-đun tùy chỉnh, tạo mộtadminhtml/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>

Và đừng quên thêm <sequence><Magento_Review/>vào của bạn module.xml. Bởi vì XML được hợp nhất theo một thứ tự chính xác. Nó phải là SAU Magento_Review

Và xin lưu ý: Vô hiệu hóa Ouput KHÔNG phải là vô hiệu hóa Mô-đun, vì tiêu đề của chủ đề này được đề cập. Nó sẽ chỉ ẩn nó:

  1. bộ điều khiển sẽ vẫn hoạt động. Nếu bạn thực hiện một bài viết về hành động thích hợp, bộ điều khiển sẽ vẫn hoạt động và thậm chí bạn sẽ có một thông báo "thành công" trên frontend.

  2. bạn vẫn sẽ tìm thấy các menu trong quản trị viên, trong "Báo cáo"

  3. mọi mô hình logic, tiêm, quan sát viên vẫn sẽ áp dụng.

Dù sao, theo quan điểm của tôi, nó vẫn là giải pháp tốt nhất. Bởi vì việc vô hiệu hóa mô-đun có module:disable -fvẻ hơi khắc nghiệt ...


Rất thú vị - có vẻ như Magento Devs cần phải tiết lộ nhiều thứ hơn. Bắt rất tốt!
Tối đa

8

tạo nên:

ứng dụng / thiết kế / frontend / company_name / theme_name / Magento_Theme / layout / default.xml

và thêm cái này:

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

Cảm ơn bạn, điều này cũng có thể được sử dụng trong một sản phẩm trong Bố cục Cập nhật XML để xóa các đánh giá cho một mục cụ thể.
dawhoo

Nó xuất hiện ít nhất là một liên kết đến mẫu đánh giá không tồn tại sau đó vẫn xuất hiện trên các trang sản phẩm. Nó có thể được ẩn bằng CSS bằng cách ẩn .product-reviews-summary, nhưng có lẽ có một quy tắc khác có thể được thêm vào default.xmlđể thực sự loại bỏ nó?
ACJ

5

Trong Magento 2.2, bạn chỉ nên tắt nó trong app / etc / config.php

'Magento_Review' => 0,

1
Làm điều này không kiểm tra các phụ thuộc mô-đun và có thể dẫn đến hành vi không mong muốn.
Yonn Trimoreau

Có, nó hoạt động trong Magento 2.2.2
D Singh

4

Trong Magento 2.3 Commerce ít nhất, bạn có thể tắt Đánh giá trong quản trị viên tại Cửa hàng> Cấu hình> Danh mục> Đánh giá sản phẩm nhập mô tả hình ảnh ở đây


3

php bin/magento module:disable -f Magento_Reviewđể vô hiệu hóa một mô-đun mà các mô-đun khác dựa vào. Nó phải được thực hiện đầu tiên trong môi trường thử nghiệm để bất kỳ sự phá vỡ chức năng nào được chú ý.


2

Cửa hàng> Cấu hình> Nâng cao> Nâng cao và tìm kiếm "Đánh giá"

hoặc cái gì đó khác

ứng dụng / etc / config.php 'Magento_Review' => 0,


2

Trong Magento 2.2.5 ít nhất, chỉ cần vô hiệu hóa đầu ra mô-đun thông qua app/etc/config.phpdường như làm việc kỳ diệu:

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

Điều này loại bỏ đầu ra mô-đun liên quan (biểu mẫu, tin nhắn) khỏi mặt trận cửa hàng cũng như giao diện quản trị.


0

Chỉ cần cảnh báo rằng trong Magento 2.3.0, tình hình đã được cải thiện (vì không có lỗi nào được hiển thị trên frontend khi không cài đặt đánh giá mô-đun), tuy nhiên quá trình biên dịch DI vẫn thất bại như Magento\Review\Block\Adminhtml\Gridđang được tham chiếu Magento\Customer\Block\Adminhtml\Edit\Tab\1Reviews.

Tốt nhất của bạn vẫn là vô hiệu hóa đầu ra mô-đun hoặc vô hiệu hóa hoàn toàn mô-đun (nhưng vẫn có mã tự động tải).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.