उत्पाद की कीमत का प्रदर्शन
विधि getPriceHtml()
को ब्लॉक वर्ग में परिभाषित किया गया है Mage_Catalog_Block_Product_Abstract
।
विधि एक मूल्य रेंडरर का उपयोग करती है जो उत्पाद प्रकार पर निर्भर करती है:
$type_id = $product->getTypeId(); // e.g. simple, configurable, bundle, grouped, ...
$this->_preparePriceRenderer($type_id)
मूल्य रेंडरर एक संबद्ध टेम्पलेट के साथ एक ब्लॉक है। दोनों उत्पाद प्रकार पर निर्भर करते हैं।
यदि निर्दिष्ट उत्पाद प्रकार के लिए कोई ब्लॉक या टेम्प्लेट परिभाषित नहीं है, तो यह catalog/product_price
ब्लॉक और catalog/product/price.phtml
टेम्पलेट को डिफॉल्ट करता है।
उत्पाद प्रकारों के लिए मूल्य रेंडरर्स और टेम्पलेट कहां परिभाषित किए गए हैं?
मूल्य ब्लॉक और रेंडरर्स आमतौर पर लेआउट एक्सएमएल का उपयोग करके निर्दिष्ट किए जाते हैं, इसलिए नए उत्पाद प्रकार जोड़ने वाले मॉड्यूल आसानी से अपने स्वयं के रेंडरर्स भी जोड़ सकते हैं। उदाहरण के लिए। बंडल किए गए उत्पाद bundle.xml
लेआउट फ़ाइल में निम्नानुसार मूल्य रेंडरर कहते हैं :
<default>
<reference name="catalog_product_price_template">
<action method="addPriceBlockType">
<type>bundle</type>
<block>bundle/catalog_product_price</block>
<template>bundle/catalog/product/price.phtml</template>
</action>
</reference>
</default>
कस्टम मूल्य टेम्पलेट या रेंडरर्स
एक ही तंत्र का उपयोग करके डिफ़ॉल्ट रेंडरर्स को ओवरराइड करना भी संभव है। यदि आप केवल टेम्प्लेट बदलना चाहते हैं, और डिफ़ॉल्ट मूल्य ब्लॉक प्रकार रखना चाहते हैं, तो बस addPriceBlockType
डिफ़ॉल्ट ब्लॉक (ऊपर देखें) और अपने टेम्पलेट के साथ लेआउट फ़ाइल में कॉल करें ।
मूल्य ब्लॉक का प्रतिपादन
वास्तव में प्राइस ब्लॉक को प्रस्तुत करने वाला कोड इस तरह दिखता है:
$this->_preparePriceRenderer($type_id)
->setProduct($product)
->setDisplayMinimalPrice($displayMinimalPrice)
->setIdSuffix($idSuffix)
->toHtml();
$displayMinimalPrice
और $idSuffix
चर के वैकल्पिक तर्क हैं getPriceHtml
विधि।
public function getPriceHtml($product, $displayMinimalPrice = false, $idSuffix = '')
$idSuffix
के सीएसएस आईडी पूरा करने के लिए कीमत टेम्पलेट में प्रयोग किया जाता है <span>
वास्तविक कीमत, उदाहरण के लिए आसपास के टैग:
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">