Question

How can I get a catalog/product collection with all attributes which are selected to be "used in product listing", i.e. are in the flat table?

Was it helpful?

Solution

$collection
    ->addAttributeToSelect(
          Mage::getSingleton('catalog/config')->getProductAttributes()
    );

This is for example used in Mage_Catalog_Model_Layer::prepareProductCollection.

OTHER TIPS

Looks like

Mage::getSingleton('catalog/config')->getProductAttributes()

doesn't include all flat attributes. Still missing some attributes. Use the flat reindexer Model instead to get exactly attributes that are in Flat table:

Mage::getModel('catalog/resource_product_flat_indexer')->getAttributeCodes();
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top