답변:
대신 명령 행 옵션을 사용하십시오.
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.0.2에서는 @MagePsycho가 제안한 것을 시도하면 오류가 발생합니다. Magento 2의 고급 설정에서 상태를 변경하여 모듈 출력을 비활성화 할 수 있습니다.
상점> 구성> 고급> 고급을 클릭하고 "검토"를 검색하십시오.
나중에 캐시를 비우고 싶을 수도 있습니다.
Magento 2.1 에서 @Max가 제안한대로 출력을 비활성화하면 제품보기 편집에 문제가 발생할 수 있습니다.
별로 시원하지 않습니다. 503 년에 완료된 Ajax 요청으로 인해 발생합니다. "제품 리뷰"탭에 문제가 있음을 알 수 있습니다. 관리자가 여전히 trhough 블록을 렌더링했기 때문에 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은 정확한 순서로 병합되기 때문입니다. AFTER Magento_Review 여야합니다.
참고 : 이 스레드의 제목이 언급되었으므로 출력 비활성화는 모듈을 비활성화 하지 않습니다 . 그것을 숨길 것입니다 :
컨트롤러는 여전히 활성 상태입니다. 적절한 조치에 대한 게시물을 작성해도 컨트롤러는 계속 작동하며 프론트 엔드에 "성공"메시지가 표시됩니다.
"보고서"에서 관리자 메뉴를 찾을 수 있습니다.
모든 모델 논리, 주입, 관찰자는 여전히 적용됩니다.
어쨌든 내 견해로는 여전히 최고의 솔루션입니다. 모듈을 강제로 비활성화 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
다른 모듈이 의존하는 모듈을 비활성화합니다. 테스트 환경에서 기능을 중단하려면 먼저 테스트 환경에서 수행해야합니다.