Добрый день.
Если создать динамическую категорию то в ней возможна неверная сортировка мультиартикульных товаров:

Происходит это из-за того что отображается sku по которому задана динамическая категория (что правильно), а сортировка происходит по основному артикулу (что неверно):


Такая-же проблема с сортировкой присутствует и в фильтрах обычной категории.
Можно ли это исправить? и заодно расширить возможность настраивать свои правила сортировки?
9 комментариев
В товаре может быть несколько артикулов с тем значением характеристики, которое выбрано в свойствах динамической категории. В этом случае непонятно, по цене какого из этих артикулов нужно сортировать товары.
Сортировать по той цене которая отображается, по какой-то же логике она отображается, соответственно по этой и должна быть сортировка.
Понимаю что это сложно сделать, так как сейчас сортировка идет по таблице товаров и нужно расширять именно системные классы, но то что это сложно, не говорить о том, что это невозможно.
Покажите полностью данные 2 товаров, которые у вас в этом случае неправильно сортируются. Мне пока не удалось повторить проблему в тестовом магазине.
Вот смотрите в категории настроено цвет белый (на скриншете)
Сами характеристики товара:
А вот как выводятся:
Технически это происходит так как сортировка идет по полю price таблицы shop_products, а это поле и есть как раз цена "основного" артикула
Где это видно?
Чтобы говорить более конкретно, ещё раз прошу показать данные двух товаров. Чтобы можно было сравнивать. Пока что я не вижу, что с чем можно сравнить.
Видно потому, что он встал перед 1000
вот один товар:
вот второй:
Сама категория:
В этих условиях в тестовом магазине товары сортируются по той цене, которая отображается:
Правда, отображается не та, которая вам нужна, но об этом я уже писал:
У вас используются параметры или множественные артикулы, ситуация при использование параметров.
Такая-же ситуация происходит при фильтрации и статической категории:
По этому вопросу вам в раздел предложений по доработке новых возможностей.