Страница 1 из 1

Вывести в категории сначала Хит продаж, потом остальные товары

Добавлено: 06.04.2021, 13:39
Artёm
Приветствую!

Есть ли возможность в Категории сначала выводить товары с меткой Хиты продаж, а затем все остальные?
Я так понимаю нужно править шаблон products_content.tpl, что то вроде

{if $products}
{foreach $products as $product}
<div class="product_item col-xs-6 col-sm-4 col-md-4 col-lg-4 col-xl-3">
{if $product->featured}
{include file="product_list.tpl"}
{/if}
</div>
{/foreach}

{foreach $products as $product}
<div class="product_item col-xs-6 col-sm-4 col-md-4 col-lg-4 col-xl-3">
{if !$product->featured}
{include file="product_list.tpl"}
{/if}
</div>
{/foreach}
{else}
<div class="col-xs-12">
<div class="boxed boxed--big boxed--notify ">
<span data-language="products_not_found">{$lang->products_not_found}</span>
</div>
</div>
{/if}

Понятно, что этот код не работает)

Добавлено: 06.04.2021, 14:40
makki
Правка шаблона тут ни при чем

Добавлено: 06.04.2021, 15:49
Artёm
Без правки php не обойтись?

Добавлено: 07.04.2021, 06:32
korshunov
Если товаров на странице немного, в пределах лимита пагинации, то этот код даст нужное.
Но в общем случае он работать не будет, для этого потребуется переделка в PHP-скриптах, так как стандартно для товаров поддерживаются только сортировки по цене, по наличию, позиции в админке, случайная.

Простейший вариант: в ProductsEntity.php сделать
case 'position':
$orderFields = ['p.featured DESC', 'p.position DESC'];
break;

Добавлено: 07.04.2021, 07:03
Artёm
Спасибо, буду пробовать