Сортировка товаров по номеру артикула

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

lvitalij
lvitalij
Репутация: 0
Сообщения: 10
Зарегистрирован: 14.12.2018
С нами: 3 года 1 месяц

Сообщение #1 lvitalij » 14.01.2022, 15:13

Как добавить сортировку в списке товаров категории по номеру артикула sku? Кнопку-то добавить просто.
А где еще шаманить?

lvitalij
lvitalij
Репутация: 0
Сообщения: 10
Зарегистрирован: 14.12.2018
С нами: 3 года 1 месяц

Сообщение #2 lvitalij » Сегодня, 18:49

Сам разобрался...
В файле ProductsEntity.php
надо добавить выборку артикулов
// Добавляем выборку для сортировки по артикулу
case 'sku':
$orderFields = [
"(SELECT pv.sku
FROM __variants pv
WHERE
p.id = pv.product_id
AND pv.position=(SELECT MIN(position)
FROM __variants
WHERE
product_id=p.id LIMIT 1
)
LIMIT 1) ASC",
];
break;
case 'sku_desc':
$orderFields = [
"(SELECT pv.sku
FROM __variants pv
WHERE
p.id = pv.product_id
AND pv.position=(SELECT MIN(position)
FROM __variants
WHERE
product_id=p.id LIMIT 1
)
LIMIT 1) DESC",
];
break;

и еще в файле FilterHelper.php добавить

Код: Выделить всё

 'sku', 'sku_desc'
для формирования урла сортировки

Код: Выделить всё

if (!in_array($currentSort, ['position', 'price', 'price_desc', 'name', 'name_desc', 'rating', 'rating_desc'[b], 'sku', 'sku_desc'[/b]])) {
                    return ExtenderFacade::execute(__METHOD__, false, func_get_args());;

}

надо сие модулем залепить наверное


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 2 гостя