2013-05-09 8 views
6

पर बैकऑर्डर स्थिति दिखाएं मुझे उत्पाद पृष्ठ (फ्रंटएंड) पर दिखाना होगा कि वर्तमान आइटम केवल बैकऑर्डर के लिए है और स्टॉक में नहीं है।Magento फ्रंटएंड

मेरे पास स्टॉक में जो लोग उपलब्ध हैं, वे qty दिखा रहे हैं और बैकऑर्डर पर मौजूद उत्पाद कुछ भी नहीं दिखाते हैं।

क्या कोई भी ऐसे कोड को जानता है जिसे मैं view.phtml फ़ाइल में डाल सकता हूं जो केवल उन उत्पादों पर एक संदेश दिखाएगा जो बैकऑर्डर के रूप में सेट हैं?

धन्यवाद!

साइमन।

उत्तर

7

ऐसा करने के लिए सुनिश्चित करें कि आपने सूची टैब से बैकॉर्डर सक्षम किए हैं।

यदि आप उत्पाद पृष्ठ पर हैं तो सबसे पहले उत्पाद qty पुनर्प्राप्त करें।

<?php 
$inventory = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product); 

if((int)$inventory->getQty() == 0 && $inventory->getBackorders()) 
{ 
    // No Backorders => getBackorders() = 0 
    // Allow Qty Below 0 => getBackorders() = 1 
    // Allow Qty Below 0 and Notify Customer => getBackorders() = 2 
    echo "display your backordedr message"; 
} 
?> 

तुम भी app\design\frontend\base\default\template\catalog\product\view\type\default.phtml फ़ाइल जहां उत्पाद की उपलब्धता संदेश से आते हैं में इस कोड डाल सकते हैं।

+0

क्या यह कोड view.phtml में जाएगा? मैंने इसे वहां जोड़ा और यह सिर्फ कोड टेक्स्ट के रूप में दिखाई दिया ...: एस – Simon

+0

हाँ आप इसे view.phtml में जोड़ सकते हैं? आपने इस कोड को अपनी फाइल में कैसे रखा है? इस कोड को में सिंटैक्स – Mufaddal

+0

में डालें, मैं इसे कैसे प्राप्त करूं ताकि यह कोड के रूप में दिखाई न दे? जब मैं इसे अपने view.phtml में जोड़ता हूं तो यह कोड टेक्स्ट के रूप में मेरी साइट पर आता है। – Simon

1

यहां वह कोड है जिसे आपको view.phtml में जोड़ने की आवश्यकता है। यह बैकऑर्डर संदेश दिखाएगा:

$inventory = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product); 
$inv_qty = (int)$inventory->getQty(); 
if($inventory->getBackorders() >= 0 && $inv_qty == 0) 
{ 
    echo "Your backorder message goes here"; 
}