/** * Add image attribute and apply sort fields to product collection * * @param Mage_Eav_Model_Entity_Collection_Abstract $collection * @return Mage_XmlConnect_Block_Catalog_Product_List */ protected function _prepareCollection($collection) { /** * Apply sort params */ $request = $this->getRequest(); $isOrderValueExist = false; foreach ($request->getParams() as $key => $value) { if (0 === strpos($key, parent::REQUEST_SORT_ORDER_PARAM_PREFIX)) { $key = str_replace(parent::REQUEST_SORT_ORDER_PARAM_PREFIX, '', $key); if ($value != 'desc') { $value = 'asc'; } if ($key == 'relevance') { $collection->getSelect()->order("relevance {$value}"); } else { $collection->addAttributeToSort($key, $value); } $isOrderValueExist = true; } } if (!$isOrderValueExist && $collection instanceof Mage_CatalogSearch_Model_Resource_Fulltext_Collection) { $collection->getSelect()->order("relevance desc"); } $collection->addAttributeToSelect(array('image', 'name', 'description')); return $this; }
/** * Add image attribute and apply sort fields to product collection * * @param Mage_Eav_Model_Entity_Collection_Abstract $collection * @return Mage_XmlConnect_Block_Catalog_Product_List */ protected function _prepareCollection($collection) { /** * Apply sort params */ $reguest = $this->getRequest(); foreach ($reguest->getParams() as $key => $value) { if (0 === strpos($key, parent::REQUEST_SORT_ORDER_PARAM_REFIX)) { $key = str_replace(parent::REQUEST_SORT_ORDER_PARAM_REFIX, '', $key); if ($value != 'desc') { $value = 'asc'; } $collection->addAttributeToSort($key, $value); } } $collection->addAttributeToSelect(array('image', 'name', 'description')); return $this; }