/** * 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; }
/** * 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); }