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'
);
$attribute
->getAttributeType();
$attribute
->getFrontendLabel();
* get attribute default value
$attribute
->getDefaultValue();
* check if the attribute is visible
$attribute
->getIsVisible();
* check if the attribute is required
$attribute
->getIsRequired();
$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)
// 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
)
// 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
)
Hope this helps. Thanks.В CMS Magento товар имеет атрибуты, при этом атрибуты не зависят от конкретного товара. Атрибуты могут имть свои значения, и меняться отдельно от товаров.
Несколько примеров как получить атрибут товара(продукта).
Для начала требуется загрузить продукт.
Далее получим значение атрибута.