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.
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.xml
củ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.php
lớ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ó:
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.
bạn vẫn sẽ tìm thấy các menu trong quản trị viên, trong "Báo cáo"
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 -f
vẻ hơi khắc nghiệt ...