Magento 2.0'ı sadece ürünlerimin 2'sini çevrimiçi satmak için yapıyorum. Ürünleri ve dilek listesi modülünü karşılaştırın benim için önemli değil.
Bu modülleri nasıl güvenle ve kolayca çıkarabilirim? Çekirdek kodunu kırmak istemiyorum.
Magento 2.0'ı sadece ürünlerimin 2'sini çevrimiçi satmak için yapıyorum. Ürünleri ve dilek listesi modülünü karşılaştırın benim için önemli değil.
Bu modülleri nasıl güvenle ve kolayca çıkarabilirim? Çekirdek kodunu kırmak istemiyorum.
Yanıtlar:
Magento 2'de, Ürün karşılaştırma fonksiyonelliğini şimdi xml dosyası ile kaldırabilirsiniz. Ürün bloğunu karşılaştırınvendor/magento/module-catalog/view/frontend/layout/default.xml
ve default.xml
temanıza bir dosya ekleyerek onu kaldırabilirsiniz :<theme_dir>/Magento_Catalog/layout/default.xml
bloğunuzu aşağıdaki gibi çıkardığınız iç kısım:
<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>
Özel temanızdaki varsayılan xml dosyasına /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
veya özel temanızda dosyalanması gereken aşağıdaki xml komutunu ekleyebilirsiniz 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" />
hangi kurtulmak
Kategori sayfalarından (katalog ürün listesi) karşılaştırmaya ekle eklemek için kullanın:
<referenceBlock name="category.product.addto.compare" remove="true"/>
<referenceBlock name="category.product.addto.compare" remove="true"/>
katalog ürün listesinden bağlantıyı kaldırmak için eklemeniz gerekir .
<referenceBlock name="catalogsearch.product.addto.compare" remove="true"/>
karşılaştırma işlevini katalog arama sonuçlarından da kaldıran eklemeyi kaçırdınız .
Tüm karşılaştırma blokları için kaynağı okudum. 2.3 için bu tam liste. Bu, karşılaştırmalı bağlantıyı başlıktan da kaldırır.
<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>
Mağazalar> Konfigürasyon> Müşteriler> İstek Listesinde İstek Listesini Devre Dışı Bırak ve Karşılaştırma işlevini devre dışı bırakmak için, aşağıdaki satırları temanın Magento_Catalog / layout / default.xml dosyasına yapıştırın .
<?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 öğesini aşağıdaki şablonlarda false olarak ayarlayın :
Magento / Katalog / görünüm / ön uç / şablonlar / ürün / list / list / items.phtml Magento / Katalog / görünüm / ön uç / şablonlar / ürün / widget / yeni / içerik / yeni / içerik / new_grid.phtml Magento / Katalog / görünüm / ön uç / şablonlar / ürün / widget / yeni / içerik / new_list.phtml Magento / Katalog / görünüm / ön uç / şablonlar / ürün / widget / içerik / grid.phtml
Karşılaştırma ile ilgili personeli aşağıdaki şablonlardan kaldırın:
Magento / Katalog / görünüm / ön uç / şablonlar / ürün / list.phtml Magento / Katalog / görünüm / ön uç / şablonlar / ürün / liste.phtml
Referans: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento, bunun için komut satırı yardımcı programı sağlar.
php bin/magento module:disable -f Magento_Wishlist
Magento istek listesi diğer modüle de bağlı olduğundan, [-f] kullanmadan kullanmak modülü devre dışı bırakmaz veya etkinleştirmez ve aşağıdaki gibi uyarılar görüntüler:
[-f] bayrağı ile komutu kullandıktan sonra bu sorunu çözecektir
Lütfen zorla komutu kullanırken uyarıyı kontrol edin
Uyarı: --force seçeneğini kullandınız. Sonuç olarak, modüller düzgün çalışmayabilir.
Burada ayrıca tüm bilgileri kontrol edebilirsiniz: http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subcommands-enable- modüller
GÜNCELLEME: Bir Magento 2 çekirdek güncellemesinden sonra, Klara'nın cevabı şimdi Karşılaştırma işlevini devre dışı bırakmanın en iyi yoludur. Lütfen aşağıyı okuyun !
Dilek Listesi işlevini devre dışı bırakmak için, idareye gitmeniz gerekir, Mağazalar> Yapılandırma> Müşteriler> İstek Listesi altında ve Etkin seçeneğini seçin.
Karşılaştırma işlevini devre dışı bırakmak için, yönetimde seçenek yoktur. module-catalog/view/frontend/templates/product/list.phtml
Şablonu geçersiz kılmanız gerekir .
Bunu yapmak için, yukarıda adlandırdığım dosyanın içeriğini, altında bulunan temanızın içindeki yeni bir dosyaya kopyalamanız gerekir <theme_dir>/Magento_Catalog/templates/product/list.phtml
. Ardından, ilgili satırları kaldırmak istiyorsunuz:
<?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>
Bunlar Magento 2.0.1’de 111-112.
kenar çubuğunu devre dışı bırakmak için:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
"Add to compare"
Ürün sayfasındaki bağlantıyı kaldırmak için temanızdaki Magento_Catalog/templates/product/view/addto.phtml
dosyanın üzerine yazmanız ve orada karşılaştırma çapasını kaldırmanız gerekir. Bu şekilde dilek listesini tutabilirsiniz ancak karşılaştırma işlevini kaldırabilirsiniz.
Magento 2.1.x için
Temanıza bir default.xml dosyası ekleme: /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>
Bu, burada sağlanan diğer çözümlerin bir uzantısıdır. Dosyayı kullanın /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xml
ve aşağıdakileri ekleyin
<?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>
Tek tek ürün sayfalarının tüm yukarıdaki yöntemlerini denedikten sonra, benim durumumda önemli olan dosyayı, yüklü bir temayla, ancak kendi alt temamı kullanarak buldum addtocart.phtml
. Diğer seçenekler şebeke kategori görünümü ve liste kategorisi görünümü için çalışacaktır (yukarıda belirtilenler list.phtml
, ancak tek tek ürün sayfalarında:
<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>
Bunun yorumlanması gerekiyor. Saatlerce çalıştığınız saat ve bu dosya oldu.
Başka biri bulursa, lütfen bana bildirin!
M2.1 hızlı ve kolay çözüm.
Özel bir tema oluşturmak istemiyorsanız ve / veya arka uçtan çalışmayı tercih ediyorsanız, arka uçta aşağıdakileri yapabilirsiniz. Değiştirmek istediğiniz cms sayfasına, kategoriye veya ürün sayfasına gidin. Kategori Sayfası Örneği: Tasarım altında -> Düzen Güncelleme XML altında aşağıdaki kodu ekleyin:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
Not: Ek blokların kenar çubuğunda kalmasını istiyorsanız, ilave kabı şöyle "false" olarak ayarlayın:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
Dilek listesi, diğer cevaplarda yazıldığı gibi arka uç üzerinden devre dışı bırakılabilir.
Mağaza başına görüntüleme seviyesinde karşılaştırma işlevini kaldırabilen bir FOSS modülü vardır:
https://github.com/Joshua29LK/disable-compare-magento-2
Kısa bir inceleme yaptım:
Magento 2.3.3'daki Ultimo temasını kullanıyorum. Ayarlar oradan gelmediğinden ancak içinde bulundukları için kıyaslama bağlantısını temanın catalog_product_view.xml dosyasından devre dışı bırakamadım.
vendor/magento/module-catalog/view/frontend/layout/catalog_product_view.xml
Hızlı ve kirli çözüm için gittim, sadece aşağıdakileri kaldırdım:
<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>
Karşılaştırma düğmesi sonsuza dek gider, ancak bir Magento yükseltme işlemi gerçekleştirirseniz geri geleceği için tekrar çıkarılması gerekir.
Bu ödemeli modülü, magento 2'deki karşılaştırmayı (20 $) devre dışı bırakmak için kullanabilirsiniz.
http://www.mage20.com/magento-2-disable-compare.html
Özellikler :