Ürün fiyat göstergesi
Yöntem getPriceHtml()
blok sınıfında tanımlanır Mage_Catalog_Block_Product_Abstract
.
Yöntem, ürün türüne bağlı olarak bir fiyat oluşturucu kullanır:
$type_id = $product->getTypeId(); // e.g. simple, configurable, bundle, grouped, ...
$this->_preparePriceRenderer($type_id)
Fiyat oluşturucu, ilişkili bir şablona sahip bir bloktur. Her ikisi de ürün tipine bağlıdır.
Belirtilen ürün türü için tanımlanmış bir blok veya şablon yoksa, varsayılan olarak catalog/product_price
blok ve catalog/product/price.phtml
şablon için kullanılır.
Ürün türleri için fiyat oluşturucular ve şablonlar nerede tanımlanır?
Fiyat blokları ve oluşturucular genellikle düzen XML'si kullanılarak belirtilir, böylece yeni ürün türleri ekleyen modüller kendi oluşturucularını da kolayca ekleyebilir. Örneğin. paketlenen ürün fiyat düzenleyicisini bundle.xml
düzen dosyasında aşağıdaki gibi ekler :
<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>
Özel fiyat şablonları veya oluşturucular
Aynı mekanizmayı kullanarak varsayılan oluşturucuları geçersiz kılmak da mümkündür. Yalnızca şablonu değiştirmek ve varsayılan fiyat bloğu türünü korumak istiyorsanız addPriceBlockType
, düzen dosyasını varsayılan blok (yukarıya bakın) ve şablonunuzla arayın .
Fiyat bloğunu oluşturma
Aslında fiyat bloğunu oluşturmak için kod şuna benzer:
$this->_preparePriceRenderer($type_id)
->setProduct($product)
->setDisplayMinimalPrice($displayMinimalPrice)
->setIdSuffix($idSuffix)
->toHtml();
$displayMinimalPrice
Ve $idSuffix
değişkenler isteğe bağlı argümanlar olan getPriceHtml
yöntem.
public function getPriceHtml($product, $displayMinimalPrice = false, $idSuffix = '')
$idSuffix
CSS kimliği tamamlamak için fiyat şablonunda kullanılan <span>
örneğin gerçek fiyatı, çevreleyen etikete:
<span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">