1. Включить для атрибута настройку "Used in Product Listing"
2. Выполнить полный реиндекс catalog_product_flat
Но это не работает если вы создаете атрибут с собственной source моделью. Чтобы сделать это нужно выполнить несколько дополнительных действий:
1. Добавить в source модель функцию getFlatColums() с описанием вашего атрибута. Да да, именно getFlatColums, а не getFlatColumns (привет core разработчикам Magento).
/**
* {@inheritdoc}
*/
public function getFlatColums()
{
return array($this->getAttribute()->getAttributeCode() => array(
'type' => 'tinyint',
'unsigned' => true,
'is_null' => true,
'default' => null,
'extra' => null
));
}
2. Добавить функцию getFlatUpdateSelect()
/**
* {@inheritdoc}
*/
public function getFlatUpdateSelect($store)
{
/** @var $attr Mage_Eav_Model_Resource_Entity_Attribute */
$attr = Mage::getResourceSingleton('eav/entity_attribute');
return $attr->getFlatUpdateSelect($this->getAttribute(), $store);
}
После этих действий не забываем выполнить полный реиндекс catalog_product_flat.
Комментариев нет:
Отправить комментарий