Magento: How to get / filter all products by attribute value?
Here, I will show you how you can filter or fetch products related to any particular attribute and value.
A simple scenario will be filtering products by manufacturer/brand. Suppose, I want to get all products under ‘Samsung’ manufacturer/brand.
For this, you need the attribute code and attribute value ID for which you are fetching products.
To fetch attribute name and value, you can see my previous post here:- Magento: How to get attribute name and value?
Now, lets move on to the code. Here is how you can do this:-
/** * Get all products related to any particular brand * Let us suppose that we are fetching the products related to 'Samsung' brand * Let us suppose the Manufacturer ID of Samsung = 3 */ $manufacturerId = 3; $attributeCode = 'manufacturer'; $products = Mage::getModel('catalog/product') ->getCollection() ->addAttributeToFilter($attributeCode, $manufacturerId); // print all products echo "<pre>"; print_r($products->getItems()); echo "</pre>";
Hope this helps. Thanks.