mFilter2 Сортировка значений фильтров

Каким образов указывается сортировка в списках фильтров?

имеем
&filters=`
        parent:categories,
        ms|vendor:vendors,
        ms|price:number,
    `
Хотелось бы сортировать
parent:categories по menuindex
ms|vendor:vendors — по алфовиту

Документации не нашел :(

с Ценой благо слайдер справляется :)
Sergey Perepechin
06 апреля 2017, 13:14
modx.pro
5
4 384
0

Комментарии: 6

Михаил
07 апреля 2017, 07:08
0
В документации это четко прописано: Сортировка результатов

&sort=`
    resource|publishedon:asc,
    resource|createdby:desc
`
&sort=`
    ms_product|publishedon:asc,
    ms_product|createdby:desc,
    ms|price:asc,
    ms_vendor|name:desc
`
    Sergey Perepechin
    07 апреля 2017, 10:29
    0
    Спасибо за ответ. Но это сортировка результатов поиска (фильтрации).

    У меня задача отсортровать значения эти фильтров. т.е. список доступных производителей в фильтре по алфавиту и тп.

      Михаил
      07 апреля 2017, 11:14
      0
      аа, сортировку именно значений. Этого кстати вроде не было
    Александр
    21 июля 2017, 13:28
    0
    Здравствуйте.
    Скажите, пожалуйста, есть ли успехи в решении вопроса?
      Алексей Шумаев
      21 июля 2017, 18:56
      0
      Я бы попробовал расширить класс mse2FiltersHandler и переписать функцию getMsOptionValues, добавив туда нужные сортировки.
      В настройках заменить значение mse2_filters_handler_class на свой класс, расширяющий mse2FiltersHandler.
        Александр
        22 июля 2017, 22:57
        2
        0
        Точно!
        Так и сделал. Мне тоже нужно было изменить сортировку.
        В функции buildTVsFilter закомментировал ksort($results);
        А в функцию getTvValues после:
        else {
        						$filters[$name][$v] = array($row['id'] => $row['id']);
        					}
        				}
        			}
        Добавил:
        foreach ($filters as $tvName => $values) {
        				if ($tvName == 'item_when') ksort($filters[$tvName], SORT_NUMERIC);
        				else if ($tvName == 'item_rooms') ksort($filters[$tvName], SORT_NUMERIC);
        				else ksort($filters[$tvName]);
        			}
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6