विशिष्ट उत्पादों पर "कार्ट में जोड़ें" को अक्षम कैसे करें, और इसके बजाय श्रेणी सूची दृश्य में "विवरण देखें" बटन प्रदर्शित करें?


20

मैं सोच रहा था कि कुछ विशिष्ट उत्पादों पर Add to Cart बटन को कैसे निष्क्रिय किया जाए, और मुझे यह करने के लिए एक परित्यक्त मार्गदर्शिका मिली, जिसने काम किया, लेकिन यह कुछ अधूरा था, क्योंकि यह केवल उत्पाद दृश्य पृष्ठों पर एक समाधान था, और श्रेणी सूची या ग्रिड पृष्ठों पर नहीं।

मैं अपने खुद के प्रश्न का उत्तर यहां 8 घंटे में दूंगा (क्योंकि मुझे 8 घंटे इंतजार करने की आवश्यकता है, क्योंकि मेरी प्रतिष्ठा एक निश्चित बिंदु से नीचे है), जब मैं पहले चरणों की व्याख्या करता हूं, और मेरा जवाब गायब होने वाला तीसरा चरण होगा जिसे मुझे समझाना था अपने लिए। मैं इस आसान का पालन करने की कोशिश करूंगा:

[चरण 1]

[1]

एक विशेषता बनाएं जो आप उन उत्पादों पर उपयोग करेंगे जिन्हें आप Add to Cart बटन नहीं चाहते हैं। व्यवस्थापक डैशबोर्ड में, पर जाएं ...

सूची> विशेषताएँ> विशेषताएँ प्रबंधित करें> नई विशेषता जोड़ें

अपनी विशेषता को नाम दें, जो भी आपको पसंद है, उदाहरण के लिए: "No_cart_button"

गुणों के साथ:

Attribute Code: No_cart_button
Catalog Input Type for Store Owner: Yes/No


Use in Quick Search: No     
Use in Advanced Search: No  
Comparable on Front-end: No
Visible on Product View Page on Front-end: No   
Used in Product Listing: YES
Used for Sorting in Product Listing: No

लेबल / विकल्प प्रबंधित करें:

Admin: Disable Add to Cart
English: Disable Add to Cart

अब इस विशेषता को सहेजें।

[2]

एक समूह में अपनी नई विशेषता असाइन करें, ताकि आप इसका उपयोग कर सकें। मैंने "डिफ़ॉल्ट" का उपयोग किया। के लिए जाओ...

Catalog > Attributes > Manage Attributes Sets > Select Set

अब इस विशेषता सेट को सहेजें।

[चरण 2]

हम view.phtml में कुछ कोड जोड़ेंगे

app/design/frontend/default/theme/template/catalog/product/view.phtml

कोड के इस ब्लॉक का पता लगाएं:

    <?php if (!$this->hasOptions()):?>
    <div class="add-to-box">
    <?php if($_product->isSaleable()): ?>
    <?php echo $this->getChildHtml('addtocart') ?>
    <?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
    <span class="or"><?php echo $this->__('OR') ?></span>
    <?php endif; ?>
    <?php endif; ?>
    <?php echo $this->getChildHtml('addto') ?>
    </div>
    <?php echo $this->getChildHtml('extra_buttons') ?>
    <?php elseif (!$_product->isSaleable()): ?>
    <div class="add-to-box">
    <?php echo $this->getChildHtml('addto') ?>
    </div>
    <?php endif; ?>

ठीक है, अब इसे कोड के इस ब्लॉक से बदलें:

<?php
//Checks if the "Disable Add to Cart" variable is set to 'Yes': 
if(($_product->getAttributeText('No_cart_button')) == "Yes"){
//If set to Yes, tell PHP what to output:
echo "This Product is not available online, please call our representative if you wish to purchase this.";
}
//If set as No, then show the 'add to cart box' as usual.
else {
?>

<?php if (!$this->hasOptions()):?>
<div class="add-to-box">
<?php if($_product->isSaleable()): ?>
<?php echo $this->getChildHtml('addtocart') ?>
<?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
<span class="or"><?php echo $this->__('OR') ?></span>
<?php endif; ?>
<?php endif; ?>
<?php echo $this->getChildHtml('addto') ?>
</div>
<?php echo $this->getChildHtml('extra_buttons') ?>
<?php elseif (!$_product->isSaleable()): ?>
<div class="add-to-box">
<?php echo $this->getChildHtml('addto') ?>
</div>
<?php endif; ?>

<?php
}
?>

यह कोड जांचता है कि क्या No_cart_button हां में सेट है। यदि यह हां में सेट है, तो यह कोड को आउटपुट करता है, जो ऐड टू कार्ट बटन को हटा देगा और इसके बजाय टेक्स्ट दिखाएगा जो कहता है, "यह उत्पाद ऑनलाइन उपलब्ध नहीं है, कृपया हमारे प्रतिनिधि को कॉल करें यदि आप इसे खरीदना चाहते हैं।"

ठीक है ये 2 चरण पूर्ण हैं, और उत्पाद दृश्य पृष्ठ पर Add to Cart को हटा देता है।

लेकिन, यह श्रेणी सूची पृष्ठों पर "कार्ट में जोड़ें" बटन को नहीं हटाता है। अब, हम "सूची में जोड़ें" बटन के बजाय, श्रेणी सूची पृष्ठों पर "विवरण देखें" बटन बनाना चाहते हैं।

[संपादित करें]

उत्तर:

kevinkirchner सही है, हम इस तर्क को list.phtml में जोड़ देंगे। हमने पहले ही सुनिश्चित कर लिया है कि "यूज़ इन प्रोडक्ट लिस्टिंग" के लिए विशेषता सेटिंग्स 'YES' पर सेट हैं।

ठीक है,

[चरण 3]

हम इसे तब बनायेंगे जब Disable Add to Cart को Yes पर सेट किया जाता है, यह श्रेणी सूची पृष्ठों पर "Add to Cart" बटन को भी निष्क्रिय कर देता है।

List.phtml पर जाएं

app/design/frontend/default/theme/template/catalog/product/list.phtml

और इसके लिए इस फ़ाइल को खोजें:

<?php if($_product->isSaleable()): ?>

यह इस फ़ाइल में 2 बार दिखाई देना चाहिए।

इस पंक्ति के ठीक नीचे, निम्न कोड डालें

<?php
if(($_product->getAttributeText('No_cart_button')) == "Yes"){ ?>
<p><button type="button" title="<?php echo $this->__('View Details') ?>" class="button btn-cart" onclick="location.href='<?php echo $_product->getProductUrl() ?>'"><span><span><?php echo $this->__('View Details') ?></span></span></button></p>
<?php 
}
else {
?>

फिर अपने कोड के ठीक नीचे जो सामान्य 'Add to Cart' बटन बनाता है, आप देखेंगे

<?php
}
?>

इसके ठीक नीचे, समान बिट कोड में से एक और डालें:

<?php
}
?>

ठीक है, अब इस फ़ाइल में कोड के अन्य ब्लॉक में वही 2 चरण करें, जहाँ आप पाते हैं

<?php if($_product->isSaleable()): ?>

आपको इसे दो बार करना होगा, क्योंकि पहली बार सूची दृश्य के लिए है, और दूसरी बार ग्रिड दृश्य के लिए है।


यह मैं 'शोकेस' या 'शो ऑफ' के लिए वेबसाइट नहीं है। आईटी की क्यू एंड ए। मेरा सुझाव है कि इस 'तथाकथित' प्रश्न को बंद किया जाए।
मारियस

ओह, मैं लोगों की मदद करने की उम्मीद कर रहा था - क्या मुझे इसके बजाय इसे हटा देना चाहिए या इसे छोड़ देना चाहिए ताकि यह खोज योग्य हो?
स्टीफन बुद्धिमान

@ मुझे नहीं लगता कि यह 'दिखावा' है, क्योंकि ओपी को अपना उत्तर पोस्ट करने के लिए पर्याप्त प्रतिनिधि का काम करने की आवश्यकता है। मैं उस समय तक बंद करने के लिए मतदान करता हूं, फिर एक फिर से संबोधित करेंगे या आप अपने प्रश्नोत्तर को फिर से पोस्ट कर सकते हैं।
फिलवक्त

क्षमा करें दोस्तों, मुझे स्टैक एक्सचेंज के तरीकों को बेहतर तरीके से सीखना चाहिए। मैं अनुभव के साथ सीखूंगा, इन चीजों को समझने में मेरी मदद करने के लिए धन्यवाद।
स्टीफन बुद्धिमान

जवाबों:


7
  1. यह सुनिश्चित करें कि आपकी विशेषता - स्क्रीनशॉट का संपादन करते समय "लिस्ट इन प्रोडक्ट लिस्टिंग" से "हां" सेट करके उत्पाद लिस्टिंग पेज पर उपलब्ध है

  2. Add template/catalog/product/list.phtmlto Cart दिखाने के लिए अपने तर्क जोड़ें / विवरण देखें बटन


हां! मैं आपके उत्तर का चयन करने जा रहा हूं। मैं अपने मूल पोस्ट पर संपादन में अधिक विशिष्ट विवरण प्रदान करूंगा।
स्टीफन बुद्धिमान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.