Проверить настройки Skip to content

Magento: How to get attribute name and value?Magento: Как получть атрибут: название, значение атрибута продукта?

Here, I will show you how to get attribute name and value for any product.

Note: The attribute code in the case below is my_attribute.

/**
* get attribute collection
*/
$attribute = $_product->getResource()->getAttribute('my_attribute');
/**
* get attribute type
*/
$attribute->getAttributeType();
/**
* get attribute Label
*/
$attribute->getFrontendLabel();
/**
* get attribute default value
*/
$attribute->getDefaultValue();
/**
* check if the attribute is visible
*/
$attribute->getIsVisible();
/**
* check if the attribute is required
*/
$attribute->getIsRequired();
/**
* get attribute value
*/
$attributeValue = Mage::getModel('catalog/product')->load($_product->getId())->getMyAttribute();

Here is the code to fetch value from a select box attribute ( via @Anupama ):-

Note: I suppose the attribute code to be ‘my_attribute

$attributeValue = Mage::getModel('catalog/product')
->load($_product->getId())
->getAttributeText('my_attribute');

Load any particular attribute by attribute code

Here is the code to get data of any particular attribute by the attribute code.

$attributeInfo = Mage::getResourceModel('eav/entity_attribute_collection')
->setCodeFilter(YOUR_ATTRIBUTE_CODE)
->getFirstItem();
// echo "<pre>"; print_r($attributeInfo->getData()); echo "</pre>";

Get all option value list for the particular attribute

You can see above that I got attribute information by attribute code. My attribute information is stored as $attributeInfo.

Here is the code to get all option values for my attribute $attributeInfo.

$attributeOptions = $attributeInfo->getSource()->getAllOptions(false);
// echo "<pre>"; print_r($attributeOptions); echo "</pre>";

Get attribute’s option information by option id

I have my attribute as $attributeInfo.

I have my attribute’s option value array as $attributeOptions.

Suppose, I want to get detail information of any option listed in $attributeOptions array. Here is the code to do so:-

$attributeId = $attributeInfo->getAttributeId();
$optionId = YOUR_ATTRIBUTE_OPTION_ID;
$attributeOptionSingle = Mage::getResourceModel('eav/entity_attribute_option_collection')
->setPositionOrder('asc')
->setAttributeFilter($attributeId)
->setIdFilter($optionId)
->setStoreFilter()
->load()
->getFirstItem();
// echo "<pre>"; print_r($attributeOptionSingle); echo "</pre>";

Get attribute of particular entity type

Here, I am going to get information about ‘order_id’ attribute of ‘invoice’ entity type.

$entityType = Mage::getModel('eav/config')->getEntityType('invoice');
$entityTypeId = $entityType->getEntityTypeId();
$attribute = Mage::getResourceModel('eav/entity_attribute_collection')
->setCodeFilter('order_id')
->setEntityTypeFilter($entityTypeId)
->getFirstItem();

Hope this helps. Thanks.В CMS Magento товар имеет атрибуты, при этом атрибуты не зависят от конкретного товара. Атрибуты могут имть свои значения, и меняться отдельно от товаров.

Несколько примеров как  получить атрибут товара(продукта).

Для начала требуется загрузить продукт.

Далее получим значение атрибута.

Magento 1.*