Добрый день.
У меня такой вопрос.
Отображение товаров в категории в фронт-офисе происходит у меня так:
все товары в наличии, потом все товары не в каличии
Так же они имеют порядок установленный в бек-офисе.
Тут все отлично, нареканий нет.
Но при применении сортировки, например, по цене (возрастание).
Товары пересортировываются почти верно, но из 100 товаров, примерно 20 находится в середине списка в разброс.
Уже голову поломал. Помогите решить проблему.
{if isset($orderby) AND isset($orderway)}
<!-- Sort products -->
{if isset($smarty.get.id_category) && $smarty.get.id_category}
{assign var='request' value=$link->getPaginationLink('category', $category, false, true)}
{elseif isset($smarty.get.id_manufacturer) && $smarty.get.id_manufacturer}
{assign var='request' value=$link->getPaginationLink('manufacturer', $manufacturer, false, true)}
{elseif isset($smarty.get.id_supplier) && $smarty.get.id_supplier}
{assign var='request' value=$link->getPaginationLink('supplier', $supplier, false, true)}
{else}
{assign var='request' value=$link->getPaginationLink(false, false, false, true)}
{/if}
<script type="text/javascript">
//<![CDATA[
{literal}
$(document).ready(function()
{
$('#selectPrductSort').change(function()
{
var requestSortProducts = '{/literal}{$request}{literal}';
var splitData = $(this).val().split(':');
document.location.href = requestSortProducts + ((requestSortProducts.indexOf('?') < 0) ? '?' : '&') + 'orderby=' + splitData[0] + '&orderway=' + splitData[1];
});
});
//]]>
{/literal}
</script>
<form id="productsSortForm" action="{$request|escape:'htmlall':'UTF-8'}">
<select id="selectPrductSort">
<option value="{$orderbydefault|escape:'htmlall':'UTF-8'}:{$orderwaydefault|escape:'htmlall':'UTF-8'}" {if $orderby eq $orderbydefault}selected="selected"{/if}>{l s='--'}</option>
{if !$PS_CATALOG_MODE}
<option value="price:asc" {if $orderby eq 'price' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Цена: от дешевых к дорогим'}</option>
<option value="price:desc" {if $orderby eq 'price' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Цена: от дорогих к дешевым'}</option>
{/if}
<option value="name:asc" {if $orderby eq 'name' AND $orderway eq 'asc'}selected="selected"{/if}>{l s='Название: от А до Я'}</option>
<option value="name:desc" {if $orderby eq 'name' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='Название: от Я до А'}</option>
{if !$PS_CATALOG_MODE}
<option value="quantity:desc" {if $orderby eq 'quantity' AND $orderway eq 'desc'}selected="selected"{/if}>{l s='В наличии'}</option>
{/if}
</select>
<label for="selectPrductSort">{l s='Сортировать по'}</label>
</form>
<!-- /Sort products -->
{/if}