I notice the 'featured product' attribute exists in the latest version of Magento. How can I make my featured products display on the homepage in the RWD theme?

Thank you

  • use some Feature Product Extension
    – Magento 2
    Commented Sep 22, 2015 at 15:25
  • Any recommendations for Magento 1.9.2?..preferrably free :) Commented Sep 22, 2015 at 15:30

3 Answers 3


I don't see this attribute as default added to Magento 1.9.x it is however very easy to create a product collection based on a custom product attribute i.e. 'featured_product'.

Once you have built the collection you can create the html you want to display via a template file, i.e. a single product feature, or a multi product slider.

The steps to do this are

  • create a new custom product collection method
  • create a new layout block
  • create a new template

For example if I want to create a product collection for visible products with the attribute 'featured_product' I create a new file called Featured.php in magento/app/code/local/Mage/Catalog/Block/Product

class Mage_Catalog_Block_Product_Featured extends mage_Catalog_Block_Product_Abstract
    protected $_productsCount = null;
    protected $_categoryId = null;


 * Initialize block's cache
protected function _construct()

    $this->addColumnCountLayoutDepend('empty', 6)
        ->addColumnCountLayoutDepend('one_column', 5)
        ->addColumnCountLayoutDepend('two_columns_left', 4)
        ->addColumnCountLayoutDepend('two_columns_right', 4)
        ->addColumnCountLayoutDepend('three_columns', 3);

        'cache_lifetime'    => 86400,
        'cache_tags'        => array(Mage_Catalog_Model_Product::CACHE_TAG),

 * Get Key pieces for caching block content
 * @return array
public function getCacheKeyInfo()
    return array(
       'template' => $this->getTemplate(),
       empty($this->_categoryId) ? "ALL" : $this->_categoryId

 * Prepare collection with new products and applied page limits.
 * return Mage_Catalog_Block_Product_New
protected function _beforeToHtml()
    $collection = Mage::getResourceModel('catalog/product_collection');

    $collection = $this->_addProductAttributesAndPrices($collection)
        ->addAttributeToSort('name', 'desc')

    // Limit to a specific category
    //if(!empty($this->_categoryId)) $collection->addCategoryFilter(Mage::getModel("catalog/category")->load($this->_categoryId));


    return parent::_beforeToHtml();

 * Set a specific category to take the products from.
 * @param $catid
 * @return Mage_Catalog_Block_Product_New
public function setCategory($catid)
    $this->_categoryId = (int)$catid;
    return $this;

 * Set how much product should be displayed at once.
 * @param $count
 * @return Mage_Catalog_Block_Product_New
public function setProductsCount($count)
    $this->_productsCount = $count;
    return $this;

 * Get how much products should be displayed at once.
 * @return int
public function getProductsCount()
    if (null === $this->_productsCount) {
        $this->_productsCount = self::DEFAULT_PRODUCTS_COUNT;
    return $this->_productsCount;

Then I add the following to my layout, e.g. if I want the block to appear on the home page then I can place it within the cms_index_index section

            <block type="catalog/product_featured" name="catalog.product.featured" alias="featured_products">
            <action method="setTemplate"><template>catalog/product/featured.phtml</template></action>

Then in my template I create a new file in catalog/product called featured.phtml, here I can iterate through the product collection and create the html I want to display, e.g. here is a simple bulleted list.

    $_helper = $this->helper('catalog/output');
    $_productCollection = $this->getProductCollection();
<div class="featured-products">
    <p>Featured Products - <?php echo count($_productCollection) ?></p>
    <ol class="featured-products-list" id="featured-products-list">
    <?php foreach ($_productCollection as $_product): ?>
        <li><?php echo $_product->getName() ?></li>
    <?php endforeach; ?>

When I refresh my store caches and goto the home page the featured product html will be displayed.

There are lots of modules that will help you do this but you can quickly achieve it with this example or by creating your own module.

Here is a link to a similar solution from the Magento wiki https://wiki.magento.com/display/m1wiki/How+to+Create+a+Featured+Product

  • Thanks Pakistan for the detailed explanation. You say CMS_index above and it looks like an xml file where would I find this in Magento? Commented Sep 25, 2015 at 6:19
  • yes it is layout xml, you should put it in your themes cms.xml file, app/design/frontend/YOURTHEME/default/layout/cms.xml Look for the cms_index section (if you want it on the home page) You could also add it via admin in the cms design/layout section of a cms page.
    – paj
    Commented Sep 25, 2015 at 6:58
  • Then I add the following to my layout, e.g. if I want the block to appear on the home page then I can place it within the cms_index_index section -- -- Where is the location of this cms_index_index section ? Thanks
    – abu abu
    Commented Nov 26, 2016 at 6:51

Follow this link for fetching Feature product on homepage http://inchoo.net/magento/featured-products-on-magento-frontpage-tutorial/



This tutorial I am explaining how to featured product to magento home page.

In the phtml file :

$featuredProducts = Mage::getModel('catalog/category')->load($category_id)
->addAttributeToFilter('featured_product', 1)
->addAttributeToFilter('status', 1);

?> In local.xml

<reference name="content">
    <block type="core/template" name="home.featured.product" template="custom/featuredproduct.phtml"/>

please refer the tutroial for step by step explanation. http://www.pearlbells.co.uk/adding-custom-product-attributes-in-magento/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.