У меня проблема с сайтом с несколькими магазинами, созданным с помощью Magento 2.4. Сейчас продукты на странице категорий и на странице поиска упорядочены по названию. Возможные варианты сортировки: по алфавиту А-Я и Я-А, а также по цене от низкой к высокой и от высокой к низкой. Когда я пытаюсь отсортировать товары по алфавиту, все работает нормально, но когда я пытаюсь отсортировать товары по цене, это похоже на случайную сортировку. Я тоже ставил кастомный модуль, но результат тот же. Вместо этого, если я отсортирую их по идентификатору продукта или по весу, это нормально.
Код: Выделить всё
if ($currentOrder) {
if ($currentOrder == 'price_asc') {
$subject->getCollection()->setOrder('price', 'asc');
} elseif ($currentOrder == 'price_desc') {
$subject->getCollection()->setOrder('price', 'desc');
} elseif ($currentOrder == 'name_asc') {
$subject->getCollection()->setOrder('name', 'asc');
} elseif ($currentOrder == 'name_desc') {
$subject->getCollection()->setOrder('name', 'desc');
}
}
Я также поставил ->getStoreId(1) после getCollection(), но результат тот же. Изменить: судя по тому, что я видел, вместо сортировки по цене используется сортировка по идентификатору продукта
Подробнее здесь:
https://stackoverflow.com/questions/706 ... t-by-price