Перейти к содержимому


Фото
- - - - -

Проблема с сортировкой в админке


  • Чтобы отвечать, сперва войдите на форум
Нет ответов

#1 AFI

AFI
  • Пользователь
  • 77 сообщений
  • Дизайн, Пользователь
  • Откуда:Киев

Опубликовано 09.01.2017 - 00:19

Добрый день, сделал сортировку от большего к меньшему и наоборот. Но, теперь в админке товар не сортируется как раньше (по position/дате создания).

Подскажите, что я сделал не так и как вернуть сортировку в админку.

Код который я изменил
 

view/ProductsView.php
Добавил

  if ($this->request->get('direction', 'string')) $filter['direction'] = $this->request->get('direction', 'string');
    else $filter['direction'] = 'desc';
    $this->design->assign('direction', $filter['direction']);

api/Products,php
 

 		if(!empty($filter['sort']))
			switch ($filter['sort'])
			{
				case 'position':
				$order = 'p.position';
				break;
				case 'name':
				$order = 'p.name';
				break;
				case 'created':
				$order = 'p.created';
				break;
				case 'price':
				$order = 'pv.price IS NULL, pv.price=0, pv.price';
				$order = '(SELECT -pv.price FROM __variants pv WHERE (pv.stock IS NULL OR pv.stock>0) AND p.id = pv.product_id AND pv.position=(SELECT MIN(position) FROM __variants WHERE (stock>0 OR stock IS NULL) AND product_id=p.id LIMIT 1) LIMIT 1)';
				break;
			}
		if(!empty($filter['sort'])){
			$order = 'IF(v.stock < 1,1,0),'.$order;
			$group_by = 'GROUP BY p.id';
			$products_stock_null_sort = 'INNER JOIN __variants v ON p.id = v.product_id';
		}	
		if(!empty($filter['direction']) && $filter['sort'] != 'price')
			{
				switch ($filter['direction']) {
					case 'asc':
						$direction = '';
						break;
					case 'desc':
						$direction = 'DESC';
						break;
				}
			} elseif (!empty($filter['direction']) && $filter['sort'] == 'price') {
				switch ($filter['direction']) {
					case 'desc':
							$direction = '';
						break;
					case 'asc':
						$direction = 'DESC';
						break;
				}
			}

После строк
LEFT JOIN __brands b ON p.brand_id = b.id
добавил
$products_stock_null_sort
ORDER BY $order
добавил
$direction






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых