Esempio n. 1
0
 /**
  * Set order to result
  *
  * @param string $attribute
  * @param string $dir
  * @return $this
  */
 public function setOrder($attribute, $dir = self::SORT_ORDER_DESC)
 {
     if ($attribute == 'wishlists') {
         $this->getSelect()->order($attribute . ' ' . $dir);
     } else {
         parent::setOrder($attribute, $dir);
     }
     return $this;
 }
Esempio n. 2
0
 /**
  * Add wishlist conditions to collection
  *
  * @param  \Magento\Wishlist\Model\Resource\Item\Collection $collection
  * @return $this
  */
 protected function _prepareCollection($collection)
 {
     $collection->setInStockFilter(true)->setOrder('added_at', 'ASC');
     return $this;
 }
Esempio n. 3
0
 /**
  * Add sidebar conditions to collection
  *
  * @param  \Magento\Wishlist\Model\Resource\Item\Collection $collection
  * @return $this
  */
 protected function _prepareCollection($collection)
 {
     $collection->setCurPage(1)->setPageSize(3)->setInStockFilter(true)->setOrder('added_at');
     return $this;
 }
Esempio n. 4
0
 /**
  * Add field filter to collection
  *
  * @param string|array $field
  * @param null|string|array $condition
  * @see self::_getConditionSql for $condition
  * @return \Magento\Framework\Data\Collection\Db
  */
 public function addFieldToFilter($field, $condition = null)
 {
     switch ($field) {
         case 'product_name':
             $value = (string) $condition['like'];
             $value = trim(trim($value, "'"), "%");
             return $this->addProductNameFilter($value);
         case 'store_id':
             if (isset($condition['eq'])) {
                 return $this->addStoreFilter($condition);
             }
             break;
         case 'days_in_wishlist':
             if (!isset($condition['datetime'])) {
                 return $this->addDaysFilter($condition);
             }
     }
     return parent::addFieldToFilter($field, $condition);
 }