/**
  * Add attribute to entities in collection
  *
  * If $attribute=='*' select all attributes
  *
  * @param array|string|integer|Mage_Core_Model_Config_Element $attribute
  * @return Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection
  */
 public function addAttributeToSelect($attribute, $joinType = false)
 {
     if ($this->isEnabledFlat()) {
         if (!is_array($attribute)) {
             $attribute = array($attribute);
         }
         foreach ($attribute as $attributeCode) {
             if ($attributeCode == '*') {
                 foreach ($this->getEntity()->getAllTableColumns() as $column) {
                     $this->getSelect()->columns('e.' . $column);
                     $this->_selectAttributes[$column] = $column;
                     $this->_staticFields[$column] = $column;
                 }
             } else {
                 if ($columns = $this->getEntity()->getAttributeForSelect($attributeCode)) {
                     foreach ($columns as $alias => $column) {
                         $this->getSelect()->columns(array($alias => 'e.' . $column));
                         $this->_selectAttributes[$column] = $column;
                         $this->_staticFields[$column] = $column;
                     }
                 }
             }
         }
         return $this;
     }
     return parent::addAttributeToSelect($attribute, $joinType);
 }
示例#2
0
 /**
  * Add attribute to entities in collection
  *
  * If $attribute=='*' select all attributes
  *
  * @param array|string|integer|Mage_Core_Model_Config_Element $attribute
  * @return Mage_Eav_Model_Entity_Collection_Abstract
  */
 public function addAttributeToSelect($attribute, $joinType = false)
 {
     if (is_array($attribute)) {
         Mage::getSingleton('eav/config')->preloadAttributes('catalog_product', $attribute);
     }
     return parent::addAttributeToSelect($attribute, $joinType);
 }