getAllOptions
возвращает массив, тогда как нам нужен набор или запрос для работы.Эта первая часть объединяет эту коллекцию с соответствующей таблицей атрибутов, обычно не рекомендуется делать это вручную, поэтому будьте осторожны.
$entity = 'catalog_product';
/* @var $options Mage_Eav_Model_Mysql4_Entity_Attribute_Option_Collection */
$options = Mage::getResourceModel('eav/entity_attribute_option_collection')
->setAttributeFilter($id)
->setStoreFilter(0);
$options->getSelect()->join(
array('ints'=>"{$entity}_entity_int"),
'(ints.value=store_value.value_id) AND (ints.attribute_id=main_table.attribute_id)',
''
)->group('option_id');
Теперь вы можете просто пройтись по опциям,
/* @var $option Mage_Eav_Model_Entity_Attribute_Option */
foreach ($options as $option) {
echo $option->getValue();
}
... или конвертировать в массив, чтобы вернуться туда, откуда вы начали.
foreach ($options->toOptionArray() as $option) {
echo $option['label'];
}