मैं केवल अपने 2 उत्पादों को ऑनलाइन बेचने के लिए Magento 2.0 का निर्माण कर रहा हूं। तुलना उत्पाद और विशलिस्ट मॉड्यूल मेरे लिए अप्रासंगिक है।
मैं कैसे सुरक्षित रूप से और आसानी से उन मॉड्यूल को हटा सकता हूं? मैं कोर कोड को हैक नहीं करना चाहता।
मैं केवल अपने 2 उत्पादों को ऑनलाइन बेचने के लिए Magento 2.0 का निर्माण कर रहा हूं। तुलना उत्पाद और विशलिस्ट मॉड्यूल मेरे लिए अप्रासंगिक है।
मैं कैसे सुरक्षित रूप से और आसानी से उन मॉड्यूल को हटा सकता हूं? मैं कोर कोड को हैक नहीं करना चाहता।
जवाबों:
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 फ़ाइल जिस पर स्थित होना चाहिए करने के लिए एक्सएमएल अनुदेश निम्नलिखित जोड़ सकते हैं /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>
अक्षम इच्छा-सूची पर स्टोर> विन्यास> ग्राहकों> इच्छा-सूची और तुलना करें समारोह पर नीचे इस लाइनों पेस्ट निष्क्रिय करने के लिए / लेआउट / default.xml Magento_Catalog अपने विषय की।
<?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 को झूठा सेट करें :
Magento / कैटलॉग / दृश्य / दृश्य / टेम्प्लेट / उत्पाद / सूची / आइटम। Magento / कैटलॉग / दृश्य / दृश्य / टेम्पलेट / उत्पाद / विजेट / नया / सामग्री / new_grid.phtml Magento / कैटलॉग / दृश्य / सीमा / उत्पाद / विजेट / नई / सामग्री / new_list.phtml Magento / सूची / दृश्य / दृश्य / टेम्पलेट्स / उत्पाद / विजेट / सामग्री / ग्रिड।
निम्नलिखित टेम्पलेट्स से संबंधित कर्मचारियों की तुलना करें:
Magento / कैटलॉग / दृश्य / दृश्य / टेम्पलेट्स / उत्पाद / सूची। Magento / सूची / दृश्य / दृश्य / टेम्पलेट्स / उत्पाद / लिस्टिंग। Magtml / इच्छा सूची / दृश्य / दृश्य / टेम्पलेट्स / आइटम / कॉन्फ़िगर / addto.phtml
संदर्भ: https://coderwall.com/p/vsqmbw/remove-product-compare-functionality-on-magento-2-frontend
Magento इसके उदाहरण के लिए कमांड लाइन उपयोगिता प्रदान करता है
php bin/magento module:disable -f Magento_Wishlist
मैगेंटो विशलिस्ट के रूप में अन्य मॉड्यूल पर निर्भर करता है और साथ ही [-f] का उपयोग किए बिना मॉड्यूल को निष्क्रिय या सक्षम नहीं करेगा और चेतावनी की तरह प्रदर्शित करेगा
[-f] झंडे के साथ कमांड का उपयोग करने के बाद इस मुद्दे को हल करेगा
जब आप कमांड का उपयोग बलपूर्वक कर रहे हों तो चेतावनी की जाँच करें
चेतावनी: आपने --force विकल्प का उपयोग किया है। परिणामस्वरूप, मॉड्यूल ठीक से काम नहीं कर सकते हैं।
आप पूरी जानकारी यहाँ भी देख सकते हैं http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-subcommands-enable.html#instgde-cli-subbands-enable- मॉड्यूल
अद्यतन: Magento 2 कोर अद्यतन के बाद, 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>
वे Magento 2.0.1 में 111 से 121 रेखाओं पर हैं
साइडबार को अक्षम करने के लिए:
<body>
<referenceBlock name="catalog.compare.sidebar" remove="true"/>
</body>
"Add to compare"
उत्पाद पृष्ठ पर लिंक को हटाने के लिए आपको Magento_Catalog/templates/product/view/addto.phtml
अपनी थीम में फ़ाइल को अधिलेखित करने की आवश्यकता है और वहां तुलना लंगर हटा दें। इस तरह आप विशलिस्ट रख सकते हैं लेकिन तुलना कार्यक्षमता को हटा सकते हैं।
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>
व्यक्तिगत उत्पाद पृष्ठों के लिए उपरोक्त सभी तरीकों की कोशिश करने के बाद, मुझे एक फ़ाइल मिली जो मेरे मामले में, एक स्थापित विषय के साथ, लेकिन मेरे अपने बच्चे के विषय का उपयोग कर रही थी 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 त्वरित और आसान समाधान।
यदि आप एक कस्टम विषय नहीं बनाना चाहते और / या बैकएंड से काम करना पसंद करते हैं, तो आप बैकएंड में निम्न कार्य कर सकते हैं। उस सेमी पेज, श्रेणी या उत्पाद पृष्ठ पर नेविगेट करें जिसे आप बदलना चाहते हैं। श्रेणी पेज के लिए उदाहरण: डिजाइन के तहत -> लेआउट अपडेट एक्सएमएल निम्नलिखित कोड जोड़ते हैं:
<referenceContainer name="content">
<referenceBlock name="catalog.compare.sidebar" remove="true" />
<referenceContainer name="sidebar.additional" remove="true" />
</referenceContainer>
नोट: यदि आप चाहते हैं कि अतिरिक्त ब्लॉक साइडबार में रहें, तो अतिरिक्त कंटेनर को इस तरह "झूठा" पर सेट करें:
<referenceContainer name="content">
<referenceContainer name="sidebar.additional" remove="false" />
</referenceContainer>
इच्छा सूची को बैकएंड के माध्यम से अक्षम किया जा सकता है, जैसा कि अन्य उत्तरों में लिखा गया है।
एक FOSS मॉड्यूल है जो प्रति-स्टोर-व्यू स्तर पर तुलना फ़ंक्शन को हटा सकता है:
https://github.com/Joshua29LK/disable-compare-magento-2
मैंने एक छोटी समीक्षा की:
मैं Magento 2.3.3 पर अल्टिमो विषय का उपयोग कर रहा हूँ। मैं थीम के कैटलॉग_प्रोडक्ट_व्यू.एक्सएमएल फ़ाइल से तुलना लिंक को अक्षम नहीं कर सका क्योंकि सेटिंग्स वहां से नहीं आ रही हैं लेकिन वे इसमें स्थित हैं:
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
विशेषताएं :