Pages

Friday 9 January 2015

Magento:: Show product rating in custom page

I was looking for a solution to put the star rating element of a product in Magento on any given location. As most of you know, you can simply display the star rating element of a product (you know, the one with the five stars on a row) on a template like a product detail page or product list. But what if you have a product displayed elsewhere else and you just need to display the five stars without having access to the getReviewsSummaryHtml()-function?
You Can use the following code for display star rating in custom page.
getLayout()->createBlock('review/helper');
      echo $reviewHelper->getSummaryHtml($_product, 'short', false);
?>
Or The full product collection page with rating
<div class="product-listing">
<?php
$_productCollection = Mage::getModel('catalog/product')->getCollection();                              
//$_productCollection->addAttributeToFilter('feature','1'); //custom attribute is yes/no(1,0)
$_productCollection->addAttributeToFilter('status', 1); //enabled
$_productCollection->addAttributeToFilter('visibility', 4); //catalog, search
?>
<?php  
foreach ($_productCollection as $_product)
{
       $model = Mage::getModel('catalog/product');
       $product_id = $_product->getId();
       $_product = $model->load($product_id);
       //echo $_product->getPrice()."";
       //echo $_product->getName()."";
       $_image=Mage::getModel('catalog/product')->load($product_id);
       //echo Mage::helper('catalog/image')->init($_image, 'image')."";
       ?>
        <div class="feature-product">
            <div class="feature-product-image"><a href="<?php echo $_product->getProductUrl() ?>"><img src="<?php echo Mage::helper('catalog/image')->init($_image, 'image')->resize(200,200); ?>"></a></div>
            <div class="feature-product-price"><?php echo $_product->getPrice(); ?></div>
            <div class="feature-product-name"><?php echo $_product->getName(); ?></div>
           <?php $reviewHelper = $this->getLayout()->createBlock('review/helper');
                 echo $reviewHelper->getSummaryHtml($_product, 'short', false);
           ?>
        </div>
   <?php    
}                                       
  ?>
</div>

No comments:

Post a Comment