Похоже, что вы инициализируете атрибут самостоятельно, а не используете процесс инициализации атрибута Magento:
Mage::getSingleton('eav/config')
->getAttribute($entityType, $attributeCode)
Поскольку с версии 1.4.x Magento имеются отдельные модели атрибутов для каталога и модели клиентов, а определение исходной модели по умолчанию для catalog_product
теперь перемещено из модели атрибутов EAV (Mage_Eav_Model_Entity_Attribute
) в каталогную (Mage_Catalog_Model_Resource_Eav_Attribute
).
В результате некоторые атрибуты каталога не будут работать с моделью атрибутов EAV. Особенно те, которые используют Mage_Eav_Model_Entity_Attribute_Source_Table
, но не определяют его явно (цвет, производитель и т. Д.).
Следующий фрагмент кода должен отлично работать на вашей установке:
$attribute = Mage::getSingleton('eav/config')
->getAttribute(Mage_Catalog_Model_Product::ENTITY, 'color');
if ($attribute->usesSource()) {
$options = $attribute->getSource()->getAllOptions(false);
}
Кстати, в модели Mage_Eav_Model_Config
есть много полезных методов, которые можно использовать в вашей разработке, поэтому не стесняйтесь изучать эту модель.