Перейти к содержанию
nash

Фильтр товаров по категориям в админке

Рекомендуемые сообщения

Добрый день! Возникла такая ситуация. Ocstore 1.5.5.1.2

Есть фильтр товаров в админке по категориям: 

BtVUol33.png

 

Как сделать, чтобы сортировка была по алфавиту? В начале категории идут четко по алфавиту, а затем непонятно как. Как поправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проставь нужный порядок сортировки для категорий (пример - http://prntscr.com/5rjar3), только учитывай что у верхнего уровня категория своя сортировка, у подкатегорий свой уровень сортировки. Или везде нули поставь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проставь нужный порядок сортировки для категорий (пример - http://prntscr.com/5rjar3), только учитывай что у верхнего уровня категория своя сортировка, у подкатегорий свой уровень сортировки. Или везде нули поставь.

это не то

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

он стандартный в админке ocStore 1.5.5.1.2, из коробки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это не то

сделайте скрин из категорий (тех что вы привели), чтобы было видно порядок сортировки. Я проверил у себя на ocStore, все работает так как я вам написал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а выполните у себя запрос

SELECT cp.category_id AS category_id,
       GROUP_CONCAT(cd1.name
                    ORDER BY cp.level SEPARATOR ' > ') AS name,
       c.parent_id,
       c.sort_order
FROM oc_category_path cp
LEFT JOIN oc_category c ON (cp.category_id = c.category_id)
LEFT JOIN oc_category_description cd1 ON (cp.path_id = cd1.category_id)
LEFT JOIN oc_category_description cd2 ON (cp.category_id = cd2.category_id)
WHERE cd1.language_id = '1'
  AND cd2.language_id = '1'
GROUP BY cp.category_id
ORDER BY name

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас проверил на большем количестве категорий, вот скрин как было - http://prntscr.com/5t4qun

Были id у категорий:

Рыба - 0

Свиниа - 1

Говядина - 3

 

Поставил им 0 и вышло по алфавиту

http://prntscr.com/5t4rfh

 

Когда у всех категорий сортировка 0, то идет по алфавиту - http://prntscr.com/5t4rmp

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

а выполните у себя запрос

SELECT cp.category_id AS category_id,
       GROUP_CONCAT(cd1.name
                    ORDER BY cp.level SEPARATOR ' > ') AS name,
       c.parent_id,
       c.sort_order
FROM oc_category_path cp
LEFT JOIN oc_category c ON (cp.category_id = c.category_id)
LEFT JOIN oc_category_description cd1 ON (cp.path_id = cd1.category_id)
LEFT JOIN oc_category_description cd2 ON (cp.category_id = cd2.category_id)
WHERE cd1.language_id = '1'
  AND cd2.language_id = '1'
GROUP BY cp.category_id
ORDER BY name

я так понимаю нужно в модели поправить запрос?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в phpmyadmin результат такой, какой мне необходим)

 

AD7h43ao.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пробуйте заменить модель из дефолта

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все значительно проще: в файле admin\model\catalog\category.php

найти строку

$sql .= " GROUP BY cp.category_id ORDER BY c.sort_order, name";

изменить на

$sql .= " GROUP BY cp.category_id ORDER BY name, c.sort_order";

теперь категории в списках выбора будут сортироваться по алфавиту

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AlexDW, спасибо, на 1.5.6.4 это 214 стр.

$sql .= " GROUP BY cp.category_id ORDER BY name";

поменял на 

$sql .= " GROUP BY cp.category_id ORDER BY name, c.sort_order";

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.