joriks
Житель
- Регистрация
- 28.09.14
- Сообщения
- 38
- Реакции
- 32
- Автор темы
- #1
Проверялось на 2.3.3 и 2.3.6
Открываем файл products.tpl вашего шаблона, ищем:
меняем на
далее открываем api/Products.php, ищем:
меняем на:
Открываем файл products.tpl вашего шаблона, ищем:
PHP:
<a {if $sort=='price'} class="selected"{/if} href="{url sort=price page=null}">цене</a>
PHP:
<a {if $sort=='price_asc'} class="selected"{/if} href="{url sort=price_asc page=null}">по цене низкие</a>
<a {if $sort=='price_desc'} class="selected"{/if} href="{url sort=price_desc page=null}">по цене высокие</a>
PHP:
if(!empty($filter['sort']))
switch ($filter['sort'])
{
case 'position':
$order = 'p.position DESC';
break;
case 'name':
$order = 'p.name';
break;
case 'created':
$order = 'p.created DESC';
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;
}
PHP:
if(!empty($filter['sort']))
switch ($filter['sort'])
{
case 'position':
$order = 'p.position DESC';
break;
// по цене Низкие > Высокие
case 'price_asc':
$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;
// по цене Высокие < Низкие
case 'price_desc':
$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) DESC';
break;
case 'created':
$order = 'p.created DESC';
break;
}