Битрикс не работает сортировка по цене

Кто-то может уже столкнулся с тем, что в стандартном каталоге интернет-магазина Битрикса не работает сортировка товаров.

Решение есть, нужно немного модифицировать код.

В шаблоне eshop сортировка задается в файле /bitrix/templates/eshop_blue/components/bitrix/catalog/.default/section.php в коде:

Array ("name", "asc"),
"price" => Array ('PROPERTY_MINIMUM_PRICE', "asc"),
"date" => Array ('PROPERTY_NEWPRODUCT', "desc"),
);

Нужно переопределить переменные $sort и $sort_order следующим образом:

Array ("sort", "desc"),
"name" => Array ("name", "asc"),
"price" => Array ('PROPERTY_MINIMUM_PRICE', "asc"),
"date" => Array ('PROPERTY_NEWPRODUCT', "desc"),
);

Добрый день, в каталоге не работает сортировка товара по цене:

/catalog/index.php -> . вызов компонента catalog

Почему может не работать, всю голову уже сломал, пробовал уже по разному, все равно не выходит?

  • Вопрос задан более года назад
  • 211 просмотров

В вашем случае нужно узнать тип цены и написать примерно так

"ELEMENT_SORT_FIELD" => "catalog_PRICE_1",
"ELEMENT_SORT_ORDER" => "asc",

catalog__ — по полю CATALOG_FIELD (может быть PRICE — цена или CURRENCY — валюта) из цены с типом PRICE_TYPE (например, catalog_PRICE_1 или CATALOG_CURRENCY_3). С версии 16.0.3 модуля Торговый каталог сортировка по цене также идет с учетом валюты.

После обновления Битрикс со старых версий на 16-ую может возникнуть ситуация с нерабочей сортировкой по цене в CIBlockElement::GetList и компонентах каталога.

С версии catalog 16.0.3 сортировка идет по столбцу b_catalog_price.PRICE_SCALE, который может не заполниться при конвертации магазина. Если такое случилось и у вас этот столбец пустой для всех товаров, сделайте следующее:

  • Зайдите в редактирование валют и просто пересохраните вашу базовую валюту.
  • Запустите SQL-запрос

Читайте также:  Запрос условие пустая строка
Оцените статью
Добавить комментарий

Adblock
detector