Автор Тема: Сортировка подкатегорий  (Прочитано 65 раз)

11 Январь 2018, 01:38:40
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток.
Нужна помощь. Не могу разобраться как отсортировать подкатегории в меню по алфавиту.

Версия Prestashop: 1.7.2.3
11 Январь 2018, 10:05:53
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 14788
  • Репутация: +14588/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Модули / ps_mainmenu / Настройка
11 Январь 2018, 13:53:02
Ответ #2
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В ps_mainmenu и ps_categorytree нет решения проблемы. Подкатегории будут добавлятся и мне нужно чтобы они автоматически сортировались по алфавиту. + сайт будет на 2 языках и если выставлять вручную будет сбиваться алфавитная поочередность в разных алфавитах.
11 Январь 2018, 16:18:17
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 3287
  • Репутация: +77/-6
  • Сообщество PrestaShop
    • Просмотр профиля
По ид сортировать можно, а не по имени.
Если ты хочешь менять вид меню на разных языках, то придеться отключать кеширование.
11 Январь 2018, 17:25:44
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 21320
  • Репутация: +25286/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В дефолтоном модуле prestashop 1.7  сортировки нет,  можно переопределить метод generateCategoriesMenu модуля ps_mainmenu, добавить метод сортировки  и сортировать под категории перед отдачей массива.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
11 Январь 2018, 17:33:20
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1106
  • Репутация: +5/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.6 можно было менять сортировку так
$this->generateCategoriesMenu(Category::getNestedCategories($id, $id_lang, true, $this->user_groups,true,null,'order by cl.`name` DESC'));Так как модуль перешел в версию 1.7, такой метод может подойдет и для 1.7.
11 Январь 2018, 17:58:39
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 105639
  • Репутация: +39551/-0
    • Просмотр профиля
    • Webstudio UwK
Файл - /classes/Category.php
public static function getNestedCategories(..) {
изменить
($orderBy != '' ? $orderBy : ' ORDER BY c.`level_depth` ASC')на
($orderBy != '' ?  ' ORDER BY c.`'.$orderBy.'` ASC'  :  ' ORDER BY c.`level_depth` ASC')
Файл - /modules/ps_mainmenu/ps_mainmenu.php
добавить в метод
Category::getNestedCategories($id, $id_lang, false, $this->user_groups,'','','name');
Cоздание интернет сайтов Webstudio UwK