পণ্য মূল্য প্রদর্শন
পদ্ধতিটি 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() ?>">