Если вы когда-нибудь сталкивались с проблемой вывода всех значений товарного атрибута из EAV модели, то следующее решение поможет вам.
Модель сущность-атрибут-значение (entity attribute value) представляет собой модель хранения данных, в которой имеется некая сущность и связанный с ней набор атрибутов (свойств, параметров). В математике эта модель известна как модель разреженных матриц. Если хранить экземпляр сущности в обычной реляционной базе данных, то у нас появится большое количество пустых столбцов и строк, что нам совсем не нужно. Разреженная матрица - это матрица в которой большинство элементов нулевые. Благодаря особым алгоритмам учитывающим разреженность такие матрицы легко сжимаются и требуют меньше ресурсов компьютера для обработки.
Итак, давайте посмотрим как получить все значения атрибута из EAV структуры.
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', 'color'); //здесь, "color" это код атрибута
$allOptions = $attribute->getSource()->getAllOptions(true, true);
foreach ($allOptions as $instance) {
$myArray[$instance['value']] = $instance['label'];
}
Mage::log($myArray);
Теперь вы получите список значений атрибута цвет как массив MyArray в формате value => label.