Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }