/**
  * Stub method to prevent sort order being changed.
  * @param string $attribute
  * @param string $dir
  * @return $this|Mage_CatalogSearch_Model_Resource_Fulltext_Collection
  */
 public function setOrder($attribute, $dir = 'desc')
 {
     if (!$this->isExtensionConfigured()) {
         return parent::setOrder($attribute, $dir);
     }
     return $this;
 }
 public function setOrder($attribute, $dir = 'desc')
 {
     if ($attribute == 'relevance') {
         $this->getSelect()->order("on_top DESC")->order("relevance {$dir}");
     } else {
         parent::setOrder('on_top', 'DESC');
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
 public function setOrder($attribute, $dir = 'desc')
 {
     if ($attribute == 'directresult_position') {
         $directsearchResultData = Mage::registry('direct_search_result_products');
         usort($directsearchResultData, array($this, '_sortByOrder'));
         $productIds = array();
         foreach ($directsearchResultData as $item) {
             $productIds[] = $item['entity_id'];
         }
         if (count($productIds)) {
             $this->getSelect()->order(new Zend_Db_Expr("FIELD(e.entity_id," . implode(',', $productIds) . ")"));
         }
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
Exemple #4
0
 /**
  * Set Order field
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_CatalogSearch_Model_Mysql4_Fulltext_Collection
  */
 public function setOrderParent($attribute, $dir = 'desc')
 {
     return parent::setOrder($attribute, $dir);
 }