我有一个自定义的多重选择属性,我想参与产品过滤。该属性设置为“分层导航”中使用的属性,但未出现在可用过滤器列表中。可能是由于自定义模型的实现?
任何人都有一些提示,可在何处查看为什么不出现?为多个产品设置了属性
使用的Magento版本是EE 1.11
谢谢
最佳答案
什么是 backend_type 。即是将值存储在catalog_product_entity_varchar还是catalog_product_entity_text表中?
backend_type必须与Mage_Catalog_Model_Resource_Eav_Attribute::isIndexable()中的检查匹配,因此,如果不重写属性模型,文本将无法工作。
是否设置了 is_filterable 和/或 is_filterable_in_search 属性属性?
Mage_Catalog_Model_Product_Indexer_Eav::_ registerCatalogAttributeSaveEvent()在更新分层导航的索引时会检查那些内容。
是否在自定义源模型中实现了方法getFlatColums(),getFlatIndexes()和getFlatUpdateSelect()?
实际上,这仅是构建和更新平面目录产品表所必需的(因此,需要设置used_in_product_listing或is_filterable属性,以使Magento能够使用该属性)。
检查类Mage_Eav_Model_Entity_Attribute_Source_Table作为这些方法应该返回的引用。