Magento 2: En güvenli ve en kolay yolu devre dışı bırakma Ürünleri karşılaştır ve Dilek Çizelgesi Modülü


34

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:


52

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.xmltemanı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>

Bir cazibe gibi çalıştı. Magento 2.0.6
camdixon


11
2.1.X sürümünde çalışmıyor
Jai

İstek Listem bloğunu kaldırmaya ne dersiniz ?
Razvan Zamfir

Dilek listesi bloğunu kenar çubuğundan kaldırmak için bunu ekleyebilirsiniz: <referenceBlock name = "wishlist_sidebar" remove = "true" />
Frank

32

Özel temanızdaki varsayılan xml dosyasına /app/design/frontend/Vendor/theme/Magento_Theme/layout/default.xmlveya ö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

  • kenar çubuğu karşılaştırma bloğu
  • ürün ayrıntıları sayfasından blok karşılaştır
  • ürün detayları sayfasından dilek listesine ekleyin

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"/>

5
Harika bir cevap, ayrıca <referenceBlock name="category.product.addto.compare" remove="true"/>katalog ürün listesinden bağlantıyı kaldırmak için eklemeniz gerekir .
Denis Pshenov

Cevabınız için teşekkürler, ayrıca <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 .
Cristiano Casciotti

Teşekkür ederim @Devtype
Praveen Chelumalla

15

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>

Bu, gelecekteki güncellemelerde değişebilecek herhangi bir kaynak dosyayı değiştirmek zorunda kalmadan mükemmel şekilde çalışır.
PedroKTFC

Bu özel bir temanın default.xml dosyasına girmeli, değil mi?
Daniel Black

6

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


2.1.x itibariyle bu çözüm muhtemelen en iyi şekilde bir araya getirilmiştir.
themanwhoknowstheman

4

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:

görüntü tanımını buraya girin

[-f] bayrağı ile komutu kullandıktan sonra bu sorunu çözecektir

görüntü tanımını buraya girin

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


Teşekkürler. Cevabınız umut verici görünüyor ama biraz gergindim ... Bu başka bir işlevi bozmaz mı?
Malaiselvan

Aynısını Test
Örneğinde

4

İçinden devre dışı bırakılabilir

mağaza> Konfigürasyonlar> Müşteriler> İstek Listesi> Genel seçenekler> Etkin: Hayır.


4

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.


3

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.phtmldosyanı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.


3

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>

eklemek ayrıca <referenceBlock name = "catalog.compare.link" remove = "true" /> üst menüdeki bağlantıyı kaldırmak için
Aref Ben Lazrek

3

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.xmlve 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>

1

Satır ekleyebilirsiniz: <referenceBlock name="catalog.compare.sidebar" remove="true"/> Magento -> yönetici -> ÜRÜNLER -> Kategoriler -> Özel Tasarım -> Özel Düzen Güncelleme


0

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!


bir çözüm
Goldy

0

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> 

0

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:

  • Karşılaştırma bloklarını kaldırmak için bir düzen tutamacı ekler
  • Bu, temelde buradaki cevaplarla aynı kodu kullanır (ancak yalnızca mağaza düzeyinde etkinleştirilir).
  • Addto Link, CSS'yi kafaya sokarak çıkarılır, bu biraz garip gelir ancak çekirdek şablonların değiştirilmesini önler

0

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.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.