วิธีปิดการใช้งานบทวิจารณ์ของ Magento 2


24

ฉันกำลังพยายามปิดใช้งานคุณลักษณะการตรวจสอบผลิตภัณฑ์ Magento 2 ฉันพยายามปิดการใช้งานโมดูลที่ Magento 2 ผู้ดูแลระบบ Stores \ Advanced \ Advanced \ Magento_Review แต่แท็บความคิดเห็นในแต่ละผลิตภัณฑ์ยังคงอยู่ที่นั่น มีวิธีปิดการใช้งานหรือไม่ ฉันรู้แน่นอนว่าเราสามารถปิดใช้งานได้ใน Magento 1

คำตอบ:


1

ใช้ตัวเลือกบรรทัดคำสั่งแทน:

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

หากคุณต้องการล้างแคช:

php bin/magento cache:flush

(เรียกใช้จากรากของ Magento 2 dir ของคุณ)


15
ตอนนี้มันเป็นไปไม่ได้ใน M2.2 มันมีการพึ่งพามากเกินไป
Anthony

8
ไม่สามารถปิดการใช้ Magento_Review เนื่องจากโมดูลขึ้นอยู่กับหลายโมดูลหลัก
mahmoudismail

ไม่สามารถทำได้เนื่องจากโมดูลตรวจสอบมีการพึ่งพามากใน M2
Rishabh Rk Rai

51

การปิดใช้งานโมดูลในบรรทัดคำสั่งจะช่วยแก้ไขข้อผิดพลาดในสถานที่ที่แตกต่างกัน ความคิดที่ดีกว่าคือการซ่อนด้วย XML เพียงสร้างธีมลูก (ถ้าคุณยังไม่มี) จากนี้:

วิธีสร้างธีมเด็กใน Magento 2

จากนั้นภายในธีมลูกของคุณสร้าง:

app / ออกแบบ / ส่วนหน้า / company_name / THEME_NAME / Magento_Theme / รูปแบบ / 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>

จำไว้ว่าบทวิจารณ์ทั้งหมดอยู่ในหน้าตรวจสอบในแท็บลูกค้า (ปิดใช้งานด้วย) ทำงานได้ดีใน 2.1.7 ใช้งานได้เหมือนกันเมื่อเพิ่มเฉพาะในเค้าโครงหน้าผลิตภัณฑ์
Patryk Padus

สิ่งที่ฉันต้องการ!
เวกเตอร์

1
เพื่อขยายใน @Patryk Padus โพสต์: <! - ลบคำวิจารณ์ผลิตภัณฑ์ของฉัน -> <referenceBlock name = "บัญชีลูกค้านำทาง - ผลิตภัณฑ์ - บทวิจารณ์ - ลิงค์" remove = "true" /> ใน Magento_Customer / layout / customer_account xml
fogx

นี่ควรเป็นคำตอบที่ถูกต้อง เราไม่ควรปิดใช้งานโมดูล Magento_Review โมดูลอื่น ๆ มากมายขึ้นอยู่กับมัน
วีโอไอพีเรียนที่

1
ทำงานได้ดีใน magento 2.3.1
electroid

26

ใน Magento 2.0.2 คุณจะได้รับข้อผิดพลาดหากคุณลองทำตามที่ @MagePsycho แนะนำ คุณยังสามารถปิดการใช้งานโมดูลเอาท์พุทโดยการเปลี่ยนสถานะในการตั้งค่าขั้นสูงของ Magento 2

ร้านค้า> การกำหนดค่า> ขั้นสูง> ขั้นสูงและค้นหา "ตรวจสอบ"

คุณอาจต้องการล้างแคชในภายหลัง


3
นี่คือวิธีที่จะไป โมดูลการวิจารณ์ถูกทำเครื่องหมายเป็นการพึ่งพาโดยโมดูลหลักอื่น ๆ (เช่นลูกค้า) และไม่สามารถปิดการใช้งานได้
เมียร์

จาก magento 2.2 Section Shops
LucScu

1
แต่ไม่มีแท็บขั้นสูงใน Magento 2.2.2
D Singh

8

ใน Magento 2.1การปิดใช้งาน ouput ตามที่ @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 ไม่ได้เป็นการปิดการใช้งานโมดูลเนื่องจากชื่อของเธรดนี้กำลังกล่าวถึง มันจะซ่อนมันเท่านั้น:

  1. ตัวควบคุมจะยังคงทำงานอยู่ หากคุณโพสต์เกี่ยวกับการกระทำที่เหมาะสมคอนโทรลเลอร์จะยังคงทำงานและคุณจะมีข้อความ "สำเร็จ" ที่ส่วนหน้า

  2. คุณจะยังคงพบเมนูในผู้ดูแลระบบใน "รายงาน"

  3. ตรรกะทุกรูปแบบการฉีดผู้สังเกตการณ์จะยังคงใช้

อย่างไรก็ตามจากมุมมองของฉันมันยังคงเป็นทางออกที่ดีที่สุด เนื่องจากการบังคับให้ปิดการใช้งานของโมดูลด้วยmodule:disable -fดูเหมือนจะรุนแรง ...


น่าสนใจมาก - ดูเหมือนว่า Magento Devs จะต้องกำจัดสิ่งต่าง ๆ ให้มากขึ้น จับได้ดีมาก!
สูงสุด

8

สร้าง:

app / ออกแบบ / ส่วนหน้า / company_name / THEME_NAME / Magento_Theme / รูปแบบ / 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>

ขอบคุณนี้สามารถใช้ในผลิตภัณฑ์เดียวภายใต้ Layout Update XML เพื่อลบบทวิจารณ์สำหรับรายการเฉพาะได้
dawhoo

ปรากฏอย่างน้อยลิงค์ไปยังแบบฟอร์มตรวจสอบที่ไม่มีอยู่แล้วยังคงปรากฏในหน้าผลิตภัณฑ์ มันสามารถซ่อนได้ด้วย CSS โดยการซ่อน.product-reviews-summaryแต่อาจมีกฎอื่นที่สามารถเพิ่มลงในdefault.xmlการลบได้จริงหรือไม่
ACJ

5

ใน Magento 2.2 คุณควรปิดการใช้งานในแอพ / etc / config.php

'Magento_Review' => 0,

1
การทำเช่นนี้ไม่ได้ตรวจสอบการพึ่งพาโมดูลและอาจส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิด
Yonn Trimoreau

ใช่มันใช้งานได้ใน Magento 2.2.2
D Singh

4

ใน Magento 2.3 Commerce อย่างน้อยคุณสามารถปิดใช้งานคำวิจารณ์ในผู้ดูแลระบบที่ร้านค้า> การกำหนดค่า> แคตตาล็อก> คำวิจารณ์ผลิตภัณฑ์ ป้อนคำอธิบายรูปภาพที่นี่


3

php bin/magento module:disable -f Magento_Reviewเพื่อปิดใช้งานโมดูลที่โมดูลอื่นพึ่งพา จะต้องทำก่อนในสภาพแวดล้อมการทดสอบเพื่อให้สังเกตการทำงานใด ๆ



2

อย่างน้อยใน Magento 2.2.5 เพียงแค่ปิดการใช้งานโมดูลเอาท์พุทผ่านapp/etc/config.phpดูเหมือนว่าจะเป็นสิ่งมหัศจรรย์:

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

สิ่งนี้จะลบเอาท์พุทของโมดูลที่เกี่ยวข้อง (ฟอร์ม, ข้อความ) ออกจากหน้าร้านรวมถึงส่วนต่อประสานผู้ดูแลระบบ


0

เพียงแค่หัวขึ้นว่าในวีโอไอพี 2.3.0 สถานการณ์จะดีขึ้น (ในขณะที่ไม่มีข้อผิดพลาดจะถูกแสดงบนหน้าเมื่อไม่ติดตั้งโมดูลความคิดเห็น) แต่ DI สะสมยังคงล้มเหลวจะถูกอ้างถึงในMagento\Review\Block\Adminhtml\GridMagento\Customer\Block\Adminhtml\Edit\Tab\1Reviews

สิ่งที่ดีที่สุดของคุณยังคงปิดการใช้งานเอาท์พุทโมดูลหรือปิดการใช้งานโมดูลอย่างสมบูรณ์ (แต่ยังคงมีรหัสโหลดอัตโนมัติ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.