Answers:
使用命令行选项代替:
php bin/magento module:disable --clear-static-content Magento_Review
如果要刷新缓存:
php bin/magento cache:flush
(从您的Magento 2目录的根目录运行它)
在命令行上禁用模块可解决不同位置的错误。一个更好的主意是用XML隐藏它。只需创建一个子主题(如果还没有子主题),如下所示:
然后在子主题内创建:
app / design / frontend / company_name / theme_name / Magento_Theme / layout / default.xml
并添加以下内容:
<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>
在Magento 2.1中,按照@Max建议禁用输出,将在产品视图编辑中引起麻烦的弹出窗口。
不太好 它是由Ajax请求引起的,该请求在503中完成。您将注意到在“产品评论”标签上有一个表格。它在2.0上有效,因为管理员仍被渲染为阻塞。现在,使用UiComponent完成。
“产品审核标签”添加低谷adminhtml/di.xml
的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>
无法(或至少没有找到方法)删除参数。因此,我们必须以一种或另一种方式重写它。
首先,我想到在上做一个插件Magento\Review\Ui\DataProvider\Product\Form\Modifier\Review
。但是深入研究核心代码使我发现了一个Dummy.php
类。因此,在自定义模块中,创建一个adminhtml/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>
而且不要忘记添加<sequence><Magento_Review/>
在你的module.xml
。因为XML是按精确顺序合并的。必须在Magento_Review之后
并且请注意:禁用Ouput 不会禁用模块,因为此线程的标题已提及。它只会隐藏它:
控制器仍将处于活动状态。如果您按照适当的操作进行发布,则控制器仍将工作,并且前端甚至还会显示“成功”消息。
您仍然可以在管理员的“报告”中找到菜单
每种模型的逻辑,注入,观察者仍将适用。
无论如何,从我的角度来看,它仍然是最好的解决方案。因为强制禁用模块module:disable -f
似乎有点苛刻...
创建:
app / design / frontend / company_name / theme_name / Magento_Theme / layout / default.xml
并添加以下内容:
<?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>
.product-reviews-summary
,但是也许可以添加另一条规则default.xml
以实际删除它?
在Magento 2.2中,您应该只在app / etc / config.php中将其禁用
'Magento_Review' => 0,
php bin/magento module:disable -f Magento_Review
禁用其他模块所依赖的模块。必须首先在测试环境中完成它,以便发现功能上的任何中断。