Jun 6, 2011
kalpesh

Magento: Get all the values of a Magento EAV for a particular attribute code

If you have ever wondered how to get all the values of any EAV attribute for products in Magento, then this is the workaround for you:

1
2
3
4
5
6
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'color'); //here, "color" is the attribute_code
$allOptions = $attribute->getSource()->getAllOptions(true, true);
foreach ($allOptions as $instance) {
    $myArray[$instance['value']] = $instance['label'];
}
Mage::log($myArray);

You will get list of all colors in an array called “myArray” in value => label format.

4 Comments

  • Great stuff, thanks. Do you use many Magento extensions? Personally we used some that significantly helped to speed up page response times. It took a few months to get perfect and function to our needs but now it’s rock solid. Saved thousands on server costs by having it in a vps cloud. Thanks, Jim.

  • working for me thanks for your article

  • What if the attribute is not dropdown or multiselect? Let’s think it’s input. How can I get all values?

  • can someone say where is the definition for getAllOptions()? Is it possible to rewrite this method. i was to pass custom filter options which should be independent of any layered navigation plugin. ??

Leave a comment

 

Welcome to my Blog

Kalpesh MehtaHelping Magento developers in their day-to-day development problems since 2011. Most of the problems and solutions here are my own experiences while working on different projects. Enjoy the blog and don't forget to throw comments and likes/+1's/tweets on posts you like. Thanks for visiting!

Certifications