Jump to content

linewery

Новичок
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный

About linewery

  • Rank
    Новичок
  1. Добрый день, у меня аналогичная ситуация, ocstore 2.3 и стоит Brainy Filter. Редактировал catalog/model/catalog/product.php Мне нужно было сделать товар с ценой 0 в конце списка, сортировка по умолчанию - по возрастанию цены. Сделал в методе getProducts() следующее: if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') { $sql .= " ORDER BY IF(p.price = '0', 1, 0), LCASE(" . $data['sort'] . ")"; } elseif ($data['sort'] == 'p.price') { $sql .= " ORDER BY IF(p.price = '0', 1, 0), (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)"; } else { $sql .= " ORDER BY IF(p.price = '0', 1, 0), " . $data['sort']; } } else { $sql .= " ORDER BY IF(p.price = '0', 1, 0), p.sort_order"; } работает только в том случае, если отключен Brainy Filter. Получается, что BF модифицирует getProducts() Что нужно сделать, чтобы товары с ценой 0 подвинуть в конец списка и при этом сохранить работу фильтра?
    Супер! Я и не ожидал, что спустя 3 года после выпуска дополнения автор будет помогать купившим аддон! Автор оперативно нашел и исправил ошибку - конфликт с BrainyFilter ! Огромная благодарность, рекомендую! P.s.: если вы хотите добавить в отображение плагина товары, которых нет в наличии в xml файле в строке: $sql .= " WHERE p.status = '1' AND p.quantity > 0 AND p.date_available <= '" . $NOW . "'"; в 3-х местах (строка повторяется 3 раза в модуле) изменил p.quantity > 0 на p.quantity >= 0
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.