Перейти к содержанию
Официальный форум поддержки Simpla

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


Рекомендуемые сообщения

Добрый день, сделал сортировку от большего к меньшему и наоборот. Но, теперь в админке товар не сортируется как раньше (по 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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...