Beispiel #1
0
 /**
  * @dataProvider setOrderDataProvider
  */
 public function testSetOrder($order, $expectedOrder)
 {
     $this->_collection->setOrder($order);
     $this->_collection->load();
     // perform real SQL query
     $selectOrder = $this->_collection->getSelect()->getPart(Zend_Db_Select::ORDER);
     foreach ($expectedOrder as $field) {
         $orderBy = array_shift($selectOrder);
         $this->assertArrayHasKey(0, $orderBy);
         $this->assertTrue(false !== strpos($orderBy[0], $field), 'Ordering by same column more than once is restricted by multiple RDBMS requirements.');
     }
 }
Beispiel #2
0
 /**
  * Set Order field
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
  */
 public function setOrder($attribute, $dir = 'desc')
 {
     if ($attribute == 'relevance') {
         //$this->getSelect()->order("relevance {$dir}");
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
 /**
  * Add sorting
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_Reports_Model_Resource_Product_Downloads_Collection
  */
 public function setOrder($attribute, $dir = self::SORT_ORDER_DESC)
 {
     if ($attribute == 'purchases' || $attribute == 'downloads' || $attribute == 'link_title') {
         $this->getSelect()->order($attribute . ' ' . $dir);
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
Beispiel #4
0
 /**
  * Set Order field
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_CatalogSearch_Model_Resource_Fulltext_Collection
  */
 public function setOrder($attribute, $dir = 'desc')
 {
     if (!$this->checkSearchaniseResult()) {
         return parent::setOrder($attribute, $dir);
     }
     if ($attribute == 'relevance') {
         $product_ids = $this->getSearchaniseRequest()->getProductIdsString();
         if (!empty($product_ids)) {
             $this->getSelect()->order("FIELD (e.entity_id, {$product_ids}) {$dir}");
         }
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
Beispiel #5
0
 /**
  * Set order to attribute
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_Review_Model_Resource_Review_Product_Collection
  */
 public function setOrder($attribute, $dir = 'DESC')
 {
     switch ($attribute) {
         case 'rt.review_id':
         case 'rt.created_at':
         case 'rt.status_id':
         case 'rdt.title':
         case 'rdt.nickname':
         case 'rdt.detail':
             $this->getSelect()->order($attribute . ' ' . $dir);
             break;
         case 'stores':
             // No way to sort
             break;
         case 'type':
             $this->getSelect()->order('rdt.customer_id ' . $dir);
             break;
         default:
             parent::setOrder($attribute, $dir);
     }
     return $this;
 }
Beispiel #6
0
 /**
  * Set order
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_Reports_Model_Resource_Product_Collection
  */
 public function setOrder($attribute, $dir = self::SORT_ORDER_DESC)
 {
     if (in_array($attribute, array('carts', 'orders', 'ordered_qty'))) {
         $this->getSelect()->order($attribute . ' ' . $dir);
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
 /**
  * Set sorting order
  *
  * $attribute can also be an array of attributes
  *
  * @param string|array $attribute
  * @param string $dir
  * @return Mage_Catalog_Model_Resource_Product_Link_Product_Collection
  */
 public function setOrder($attribute, $dir = self::SORT_ORDER_ASC)
 {
     if ($attribute == 'position') {
         return $this->setPositionOrder($dir);
     } elseif ($attribute == 'attribute_set_id') {
         return $this->setAttributeSetIdOrder($dir);
     }
     return parent::setOrder($attribute, $dir);
 }
Beispiel #8
0
 /**
  * Set attribute order
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_Tag_Model_Resource_Product_Collection
  */
 public function setOrder($attribute, $dir = 'desc')
 {
     if ($attribute == 'popularity') {
         $this->getSelect()->order($attribute . ' ' . $dir);
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
 /**
  * Set Order field
  *
  * @param string $attribute
  * @param string $dir
  * @return Mage_Catalog_Model_Resource_Product_Collection
  */
 public function setOrder($attribute, $dir = parent::SORT_ORDER_ASC)
 {
     //         $helper=Mage::helper('autocompleteplus_autosuggest');
     //         $enabledFulltext = $helper->getConfigDataByFullPath('autocompleteplus/config/enabled_fulltext');
     if ($this->is_fulltext_enabled && $attribute == 'relevance') {
         $dir = parent::SORT_ORDER_ASC;
         $id_str = count($this->list_ids) > 0 ? implode(',', $this->list_ids) : '0';
         if (!empty($id_str)) {
             $sort = "FIELD(e.entity_id, {$id_str}) {$dir}";
             $this->getSelect()->order(new Zend_Db_Expr($sort));
         }
     } else {
         return parent::setOrder($attribute, $dir);
     }
     return $this;
 }
Beispiel #10
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);
 }