ฉันกำลังสร้าง Magento 2.0 เพียงเพื่อขาย 2 ผลิตภัณฑ์ของฉันทางออนไลน์ โมดูลเปรียบเทียบผลิตภัณฑ์และสิ่งที่ปรารถนานั้นไม่เกี่ยวข้องสำหรับฉัน
ฉันจะลบโมดูลเหล่านั้นอย่างปลอดภัยและง่ายดายได้อย่างไร ฉันไม่ต้องการแฮ็ครหัสหลัก
ฉันกำลังสร้าง Magento 2.0 เพียงเพื่อขาย 2 ผลิตภัณฑ์ของฉันทางออนไลน์ โมดูลเปรียบเทียบผลิตภัณฑ์และสิ่งที่ปรารถนานั้นไม่เกี่ยวข้องสำหรับฉัน
ฉันจะลบโมดูลเหล่านั้นอย่างปลอดภัยและง่ายดายได้อย่างไร ฉันไม่ต้องการแฮ็ครหัสหลัก
คำตอบ:
ใน Magento 2 ตอนนี้คุณสามารถลบฟังก์ชั่นเปรียบเทียบผลิตภัณฑ์ผ่านไฟล์ xml ได้แล้ว มีการกำหนดบล็อกเปรียบเทียบผลิตภัณฑ์vendor/magento/module-catalog/view/frontend/layout/default.xml
และคุณสามารถลบออกได้โดยเพิ่มdefault.xml
ไฟล์ลงในธีมของคุณใน:<theme_dir>/Magento_Catalog/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="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="wishlist_sidebar" remove="true" />
</body>
</page>
คุณสามารถเพิ่มคำสั่ง xml ต่อไปนี้ให้กับไฟล์ xml เริ่มต้นของธีมที่กำหนดเองซึ่งควรอยู่ที่/app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
หรือไปยังMagento_Catalog/layout/default.xml
ไฟล์ในธีมที่กำหนดเองของคุณ:
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true" />
<referenceBlock name="view.addto.wishlist" remove="true" />
ซึ่งกำจัด
หากต้องการลบเพิ่มเพื่อเปรียบเทียบจากหน้าหมวดหมู่ (รายการผลิตภัณฑ์แคตตาล็อก) ให้ใช้:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
เพื่อลบลิงค์ออกจากรายการสินค้าแคตตาล็อก
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
ฟังก์ชั่นการเปรียบเทียบออกจากผลการค้นหาแคตตาล็อก
ฉันใส่รหัสที่มาสำหรับบล็อกเปรียบเทียบทั้งหมด สำหรับ 2.3 นี่คือรายการที่สมบูรณ์ นี่จะเป็นการลบลิงค์เปรียบเทียบออกจากส่วนหัวด้วย
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<!-- Remove compare -->
<referenceBlock name="catalog.compare.link" remove="true" />
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="crosssell.product.addto.compare" remove="true" />
<referenceBlock name="related.product.addto.compare" remove="true" />
<referenceBlock name="upsell.product.addto.compare" remove="true" />
<referenceBlock name="view.addto.compare" remove="true" />
</body>
</page>
ปิดการใช้งานสิ่งที่ปรารถนาในร้านค้า> การกำหนดค่า> ลูกค้า> สิ่งที่ปรารถนาและปิดการใช้งานฟังก์ชั่นเปรียบเทียบวางบรรทัดนี้ด้านล่างในMagento_Catalog / layout / default.xmlของธีมของคุณ
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="catalog.compare.link" remove="true"/>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
</page>
ตั้งค่า$ showCompareเป็น false ในเทมเพลตต่อไปนี้:
Magento / Catalog / view / frontend / template / product / list / items.phtml Magento / Catalog / view / frontend / template / product / widget / new / content / new_grid.phtml Magento / Catalog / view / frontend / template / product / widget / new / content / new_list.phtml Magento / Catalog / view / frontend / template / product / widget / content / grid.phtml
ลบการเปรียบเทียบเจ้าหน้าที่ที่เกี่ยวข้องจากแม่แบบต่อไปนี้:
Magento / Catalog / view / frontend / template / product / list.phtml Magento / Catalog / view / frontend / template / product / listing.phtml Magento / Wishslist / view / frontend / แม่แบบ / item / configure / addto.phtml
การอ้างอิง: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento ให้ยูทิลิตี้บรรทัดคำสั่งเพื่อเป็นตัวอย่าง
php bin/magento module:disable -f Magento_Wishlist
เนื่องจากสิ่งที่อยากได้ Magento ขึ้นอยู่กับโมดูลอื่นเช่นกันดังนั้นการใช้โดยไม่มี [-f] จะไม่ปิดใช้งานหรือเปิดใช้งานโมดูลและจะแสดงคำเตือนเช่น
หลังจากใช้คำสั่งด้วยแฟล็ก [-f] จะแก้ปัญหานี้ได้
โปรดตรวจสอบคำเตือนเมื่อคุณใช้คำสั่งอย่างแข็งขัน
การแจ้งเตือน: คุณใช้ตัวเลือก --force เป็นผลให้โมดูลอาจทำงานไม่ถูกต้อง
คุณสามารถตรวจสอบข้อมูลที่สมบูรณ์ที่นี่เช่นกันhttp://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- โมดูล
มันสามารถปิดการใช้งานจาก
ร้านค้า> การกำหนดค่า> ลูกค้า> รายการสินค้าที่ต้องการ> ตัวเลือกทั่วไป> เปิดใช้งาน: ไม่
UPDATE:หลังจากการอัปเดต Magento 2 core ตอนนี้คำตอบของ klara เป็นวิธีที่ดีที่สุดในการปิดใช้งานฟังก์ชั่นเปรียบเทียบ โปรดอ่านด้านล่าง!
ในการปิดการใช้งานฟังก์ชั่นรายการที่ต้องการคุณต้องไปที่การบริหารภายใต้ร้านค้า> การกำหนดค่า> ลูกค้า> รายการที่ต้องการและเลือกเปิดใช้งาน: ไม่
เพื่อปิดใช้งานฟังก์ชั่นเปรียบเทียบไม่มีตัวเลือกในการบริหาร คุณต้องแทนที่module-catalog/view/frontend/templates/product/list.phtml
เทมเพลต
หากต้องการทำเช่นนั้นคุณจะต้องคัดลอกเนื้อหาของไฟล์ที่ฉันตั้งชื่อไว้ข้างต้นในไฟล์ใหม่ภายในธีมของคุณที่อยู่ด้าน<theme_dir>/Magento_Catalog/templates/product/list.phtml
ล่าง จากนั้นคุณต้องการลบบรรทัดที่เกี่ยวข้อง:
<?php
$compareHelper = $this->helper('Magento\Catalog\Helper\Product\Compare');
?>
<a href="#"
class="action tocompare"
title="<?php echo $block->escapeHtml(__('Add to Compare')); ?>"
aria-label="<?php echo $block->escapeHtml(__('Add to Compare')); ?>"
data-post='<?php /* @escapeNotVerified */ echo $compareHelper->getPostDataParams($_product); ?>'
role="button">
<span><?php /* @escapeNotVerified */ echo __('Add to Compare') ?></span>
</a>
พวกนี้อยู่ที่สาย 111 ถึง 121 ใน Magento 2.0.1
วิธีปิดใช้งานแถบข้าง:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
เพื่อลบ"Add to compare"
ลิงค์ในหน้าผลิตภัณฑ์คุณจำเป็นต้องเขียนทับMagento_Catalog/templates/product/view/addto.phtml
ไฟล์ในธีมของคุณและลบ anchor เปรียบเทียบที่นั่น วิธีนี้คุณสามารถเก็บสิ่งที่อยากได้ แต่ลบฟังก์ชั่นการเปรียบเทียบ
สำหรับ Magento 2.1.x
การเพิ่มไฟล์ default.xml ให้กับธีมของคุณใน: /Magento_Catalog/layout/default.xml
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
</page>
นี่คือส่วนขยายของโซลูชันอื่น ๆ ที่มีให้ที่นี่ ใช้ไฟล์/app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
และเพิ่มต่อไปนี้
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="catalog.compare.link" remove="true"/>
<referenceBlock name="related.product.addto.compare" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true"/>
<referenceBlock name="upsell.product.addto.compare" remove="true"/>
</body>
</page>
คุณสามารถเพิ่มบรรทัด: <referenceBlock name="catalog.compare.sidebar" remove="true"/>
Magento -> administrator -> PRODUCTS -> Categories -> Custom Design -> Custom Layout Update
หลังจากที่พยายามทุกวิธีการข้างต้นสำหรับหน้าผลิตภัณฑ์แต่ละผมพบว่าไฟล์หนึ่งที่สำคัญในกรณีของฉันมีธีมติดตั้ง addtocart.phtml
แต่ใช้ธีมเด็กของตัวเอง ตัวเลือกอื่น ๆ จะใช้งานได้สำหรับมุมมองประเภทกริดและมุมมองรายการประเภท (ดังกล่าวข้างต้นlist.phtml
แต่ในแต่ละหน้าผลิตภัณฑ์:
<a href="#" data-post='<?php /* @escapeNotVerified */ echo $compareHelper->getPostDataParams($_product);?>'
data-role="add-to-links"
class="action tocompare">
<i class="fa fa-retweet icons"></i>
<span><?php /* @escapeNotVerified */ echo __('Compare') ?></span>
</a>
สิ่งนี้จะต้องมีการแสดงความคิดเห็น ชั่วโมงและเวลาพยายามและเป็นไฟล์นี้
หากใครพบเป็นอย่างอื่นโปรดแจ้งให้เราทราบ!
วิธีแก้ปัญหาที่ง่ายและรวดเร็ว M2.1
หากคุณไม่ต้องการสร้างธีมที่กำหนดเองและ / หรือต้องการทำงานจากแบ็กเอนด์คุณสามารถทำสิ่งต่อไปนี้ในแบ็กเอนด์ นำทางไปยังหน้า cms หมวดหมู่หรือหน้าผลิตภัณฑ์ที่คุณต้องการแก้ไข ตัวอย่างสำหรับหน้าหมวดหมู่: ภายใต้การออกแบบ -> การปรับปรุงเค้าโครง XML เพิ่มรหัสต่อไปนี้:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
หมายเหตุ: หากคุณต้องการบล็อกเพิ่มเติมให้อยู่ในแถบด้านข้างให้ตั้งค่าคอนเทนเนอร์เพิ่มเติมเป็น "false" เช่นนี้:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
รายการความปรารถนาสามารถปิดการใช้งานผ่านทางแบ็กเอนด์ตามที่เขียนไว้ในคำตอบอื่น ๆ
มีโมดูล FOSS ซึ่งสามารถลบฟังก์ชั่นการเปรียบเทียบในระดับต่อร้านค้าได้:
https://github.com/Joshua29LK/disable-compare-magento-2
ฉันทำรีวิวสั้น ๆ :
ฉันใช้ชุดรูปแบบ Ultimo ใน Magento 2.3.3 ฉันไม่สามารถปิดใช้งานลิงก์เปรียบเทียบจากไฟล์catalog_product_view.xmlของชุดรูปแบบเนื่องจากการตั้งค่าไม่ได้มาจากที่นั่น แต่อยู่ใน:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
ฉันไปหาทางออกที่รวดเร็วและสกปรกเพียงลบสิ่งต่อไปนี้:
<container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="product-social-links">
<block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="Magento_Catalog::product/view/addto.phtml">
<block class="Magento\Catalog\Block\Product\View\AddTo\Compare" name="view.addto.compare" after="view.addto.wishlist"
template="Magento_Catalog::product/view/addto/compare.phtml" >
<arguments>
<argument name="addToCompareViewModel" xsi:type="object">Magento\Catalog\ViewModel\Product\Checker\AddToCompareAvailability</argument>
</arguments>
</block>
</block>
<block class="Magento\Catalog\Block\Product\View" name="product.info.mailto" template="Magento_Catalog::product/view/mailto.phtml"/>
</container>
ปุ่มเปรียบเทียบหายไปตลอดกาลอย่างไรก็ตามหากคุณทำการอัพเกรด Magento มันจะกลับมาอีกครั้งดังนั้นจึงต้องลบอีกครั้ง
คุณสามารถใช้โมดูลที่ชำระเงินนี้เพื่อปิดใช้งานการเปรียบเทียบใน magento 2 ($ 20)
http://www.mage20.com/magento-2-disable-compare.html
คุณสมบัติ :