Specific Category Products Magento

Hello All,

I am writing here the script to get product collection of a required category.

For the below mentioned script we must have the category id for which the product collection is needed.


	$catagory_model = Mage::getModel('catalog/category')->load($category_id); //where $category_id is the id of the category

	$collection = Mage::getResourceModel('catalog/product_collection');

	$collection->addCategoryFilter($catagory_model); //category filter

	$collection->addAttributeToFilter('status',1); //only enabled product

	$collection->addAttributeToSelect(array('name','url','small_image')); //add product attribute to be fetched

	//$collection->getSelect()->order('rand()'); //uncomment to get products in random order	    




    		foreach ($collection as $_product): 

			echo $_product->getName();	//get product name			




    		echo 'No products exists';




Hope this is helpful

17 Responses to “Specific Category Products Magento”

  1. The blog is absolutely fantastic. Lots of great information and inspiration, both of which we all need. Thanks.

  2. Sudipto Karmoker says:

    Script is correct for get product collection by single category id.

    Thanks a lot.

  3. Rahul says:

    Good Job Zahid!! Keep it up

  4. adi says:

    Hello this is a very helpfull posti love that its solve my problem

  5. Alejandro says:

    I’m new to Magento, how do you implement this code.


  6. Deven says:

    Oh,Thank you very much!you save me time!!other website get products by category id solution is no use for me,but you are userful to me.

  7. Suman says:

    Your blog Really help me

    Thanks For your support

  8. laeeq says:

    Really This Very help full.

  9. Rakes says:

    Thanks very nice blog….


  10. Jitendra says:

    Really This Very help full.

    Funtastic job.

  11. Hassan Ali SHahzad says:

    This is one that I am searching from last two days.
    please change heading from “Get Category Products Magento” to “Get Product data for the specific Category”.

  12. Zahid says:

    How to filter color in you example?

    • DWRoot says:

      @Zahid – You need to add the attribute code (suppose it is ‘color’)like ‘name’ in $collection->addAttributeToSelect(array(‘name’,'url’,'small_image’,'color’)); and use ‘$collection->addAttributeToFilter(‘color’,array(‘eq’=>’green’)); ‘ for filtering.

      Hope this is helpful

Leave a Reply