Сортировка подкатегорий

Автор Gex3247, 11 января 2018, 01:38:40

« назад - далее »

Gex3247

Доброго времени суток.
Нужна помощь. Не могу разобраться как отсортировать подкатегории в меню по алфавиту.

Версия Prestashop: 1.7.2.3

Adik

Модули / ps_mainmenu / Настройка

Gex3247

В ps_mainmenu и ps_categorytree нет решения проблемы. Подкатегории будут добавлятся и мне нужно чтобы они автоматически сортировались по алфавиту. + сайт будет на 2 языках и если выставлять вручную будет сбиваться алфавитная поочередность в разных алфавитах.

Миколас

По ид сортировать можно, а не по имени.
Если ты хочешь менять вид меню на разных языках, то придеться отключать кеширование.

PrestaMan

В дефолтоном модуле prestashop 1.7  сортировки нет,  можно переопределить метод generateCategoriesMenu модуля ps_mainmenu, добавить метод сортировки  и сортировать под категории перед отдачей массива.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

tigran

В 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.

Виталий

Файл - /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