Так что нашли способ, который, я уверен, не самый лучший способ ... или, может быть, команда Magento не думала, что может понадобиться получить код атрибута на основе атрибута id ...
1- Перегрузка app / code / core / Mage / Eav / Model / Mysql4 / Entity / Attribute / Collection.php
Добавить этот метод:
public function setIdFilter($id)
{
if (empty($id)) {
return $this;
}
if (!is_array($id)) {
$id = array($id);
}
$this->getSelect()->where('main_table.attribute_id IN(?)', $id);
return $this;
}
2 - Теперь для получения кода атрибута на основе его идентификатора используйте:
$attributeCode = Mage::getResourceModel('eav/entity_attribute_collection')
->setIdFilter(YOUR_ATTRIBUTE_ID) /* if using this into the configurable.phtml template file, you can use $_attribute->getAttributeId() for YOUR_ATTRIBUTE_ID */
->getFirstItem()
->getAttributeCode();
echo $attributeCode;
Так непривычно, но так работает ...
Если у кого-то есть лучший способ сделать это, я был бы рад изменить мой «тикер ответа»!