Saya membangun Magento 2.0 hanya untuk menjual 2 produk saya secara online. Modul perbandingan produk dan daftar harapan tidak relevan bagi saya.
Bagaimana saya menghapus modul-modul itu dengan aman dan mudah? Saya tidak ingin meretas kode inti.
Saya membangun Magento 2.0 hanya untuk menjual 2 produk saya secara online. Modul perbandingan produk dan daftar harapan tidak relevan bagi saya.
Bagaimana saya menghapus modul-modul itu dengan aman dan mudah? Saya tidak ingin meretas kode inti.
Jawaban:
Di Magento 2, Anda sekarang sebenarnya dapat menghapus Bandingkan fungsi produk melalui file xml. Bandingkan blok produk didefinisikan dalamvendor/magento/module-catalog/view/frontend/layout/default.xml
dan Anda dapat menghapusnya dengan menambahkan default.xml
file ke tema Anda di:<theme_dir>/Magento_Catalog/layout/default.xml
di mana Anda menghapus blok Anda sebagai berikut:
<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>
Anda dapat menambahkan instruksi xml berikut ke file xml default tema kustom Anda yang harusnya terletak di /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
atau untuk Magento_Catalog/layout/default.xml
file dalam tema kustom Anda:
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
<referenceBlock name="view.addto.compare" remove="true" />
<referenceBlock name="view.addto.wishlist" remove="true" />
yang menghilangkan
Untuk menghapus tambahkan untuk membandingkan dari halaman kategori (daftar produk katalog) gunakan:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
untuk menghapus tautan dari daftar produk katalog.
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
yang menghapus fungsi bandingkan juga dari hasil pencarian katalog.
Saya mengambil sumber untuk semua blok pembanding. Untuk 2.3 ini adalah daftar lengkap. Ini juga akan menghapus tautan perbandingan dari header.
<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>
Nonaktifkan Wishlist di Toko> Konfigurasi> Pelanggan> Wishlist dan untuk menonaktifkan fungsi Bandingkan tempelkan baris ini di bawah ini di Magento_Catalog / layout / default.xml tema Anda.
<?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>
Setel $ showCompare ke false di templat berikut:
Magento / Katalog / view / frontend / templates / produk / daftar / items.phtml Magento / Katalog / view / frontend / templates / produk / widget / baru / konten / new_grid.phtml Magento / Katalog / view / frontend / templates / produk / widget / baru / konten / new_list.phtml Magento / Katalog / view / frontend / templates / produk / widget / konten / grid.phtml
Hapus bandingkan staf terkait dari templat berikut:
Magento / Katalog / view / frontend / templates / produk / list.phtml Magento / Katalog / view / frontend / templates / produk / listing.phtml Magento / Wishslist / view / frontend / templates / item / configure / addto.phtml
Referensi: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento menyediakan utilitas baris perintah sebagai contoh
php bin/magento module:disable -f Magento_Wishlist
karena Magento wishlist tergantung pada modul lain juga jadi menggunakan tanpa [-f] tidak akan menonaktifkan atau mengaktifkan modul dan akan menampilkan peringatan seperti
setelah menggunakan perintah dengan flag [-f] akan menyelesaikan masalah ini
silakan periksa peringatan ketika Anda menggunakan perintah dengan paksa
Lansiran: Anda menggunakan opsi --force. Akibatnya, modul mungkin tidak berfungsi dengan baik.
Anda dapat memeriksa informasi lengkap di sini juga http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- modul
UPDATE: Setelah pembaruan inti Magento 2, jawaban klara sekarang adalah cara terbaik untuk menonaktifkan fungsi Bandingkan. Silakan baca di bawah ini!
Untuk menonaktifkan fungsi Daftar Keinginan, Anda harus masuk dalam administrasi, di bawah Toko> Konfigurasi> Pelanggan> Daftar Keinginan dan pilih Diaktifkan: Tidak.
Untuk menonaktifkan fungsi Bandingkan, tidak ada opsi dalam administrasi. Anda perlu mengganti module-catalog/view/frontend/templates/product/list.phtml
template.
Untuk melakukannya, Anda perlu menyalin konten file yang saya sebutkan di atas dalam file baru di dalam tema Anda yang berada di bawah <theme_dir>/Magento_Catalog/templates/product/list.phtml
. Kemudian, Anda ingin menghapus garis yang bersangkutan:
<?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>
Itu ada di baris 111 hingga 121 di Magento 2.0.1
untuk menonaktifkan bilah sisi:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
untuk menghapus "Add to compare"
tautan pada halaman produk Anda perlu menimpa Magento_Catalog/templates/product/view/addto.phtml
file dalam tema Anda dan menghapus anchor bandingkan di sana. Dengan cara ini Anda dapat menyimpan wishlist tetapi menghapus fungsi bandingkan.
Untuk Magento 2.1.x
Menambahkan file default.xml ke tema Anda di: /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>
Ini adalah perpanjangan dari solusi lain yang disediakan di sini. Gunakan file /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
dan tambahkan berikut ini
<?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>
Setelah mencoba semua metode di atas untuk masing-masing halaman produk, saya menemukan satu file yang penting dalam kasus saya, dengan tema yang diinstal, tetapi menggunakan tema anak saya sendiri addtocart.phtml
. Opsi lain akan berfungsi untuk tampilan kategori kisi dan tampilan kategori daftar (yang disebutkan di atas list.phtml
, tetapi pada halaman produk individual:
<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>
Ini perlu dikomentari. Berjam-jam mencoba dan itu adalah file ini.
Jika ada yang menemukan yang sebaliknya, beri tahu saya!
M2.1 solusi cepat dan mudah.
Jika Anda tidak ingin membuat tema khusus dan / atau lebih suka bekerja dari backend, Anda dapat melakukan yang berikut di backend. Arahkan ke halaman cms, kategori atau halaman produk yang ingin Anda ubah. Contoh untuk Halaman Kategori: di bawah Desain -> Pembaruan Tata Letak XML tambahkan kode berikut:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
Catatan: jika Anda ingin blok tambahan tetap berada di sidebar, atur wadah tambahan ke "false" seperti ini:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
Daftar keinginan dapat dinonaktifkan melalui backend, seperti yang ditulis dalam jawaban lain.
Ada modul FOSS yang dapat menghapus fungsi bandingkan pada tingkat per-store-view:
https://github.com/Joshua29LK/disable-compare-magento-2
Saya melakukan tinjauan singkat:
Saya menggunakan tema Ultimo di Magento 2.3.3. Saya tidak bisa menonaktifkan tautan perbandingan dari file catalog_product_view.xml tema karena pengaturannya tidak berasal dari sana tetapi mereka berada di:
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Saya mencari solusi cepat dan kotor, cukup hapus yang berikut ini:
<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>
Tombol bandingkan hilang selamanya, namun jika Anda melakukan upgrade Magento itu akan kembali sehingga perlu dihapus lagi.
Anda dapat menggunakan modul berbayar ini untuk menonaktifkan perbandingan di magento 2 ($ 20).
http://www.mage20.com/magento-2-disable-compare.html
Fitur :