00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 class Mage_Catalog_Block_Product extends Mage_Core_Block_Template
00029 {
00030 protected $_finalPrice = array();
00031
00032 public function getProduct()
00033 {
00034 if (!$this->getData('product') instanceof Mage_Catalog_Model_Product) {
00035 if ($this->getData('product')->getProductId()) {
00036 $productId = $this->getData('product')->getProductId();
00037 }
00038 if ($productId) {
00039 $product = Mage::getModel('catalog/product')->load($productId);
00040 if ($product) {
00041 $this->setProduct($product);
00042 }
00043 }
00044 }
00045 return $this->getData('product');
00046 }
00047
00048 public function getPrice()
00049 {
00050 return $this->getProduct()->getPrice();
00051 }
00052
00053 public function getFinalPrice()
00054 {
00055 if (!isset($this->_finalPrice[$this->getProduct()->getId()])) {
00056 $this->_finalPrice[$this->getProduct()->getId()] = $this->getProduct()->getFinalPrice();
00057 }
00058 return $this->_finalPrice[$this->getProduct()->getId()];
00059 }
00060
00061 public function getPriceHtml($product)
00062 {
00063 $this->setTemplate('catalog/product/price.phtml');
00064 $this->setProduct($product);
00065 return $this->toHtml();
00066 }
00067 }