mFilter2 Сортировка значений фильтров
Каким образов указывается сортировка в списках фильтров?
имеем
parent:categories по menuindex
ms|vendor:vendors — по алфовиту
Документации не нашел :(
с Ценой благо слайдер справляется :)
имеем
&filters=`
parent:categories,
ms|vendor:vendors,
ms|price:number,
`
Хотелось бы сортировать parent:categories по menuindex
ms|vendor:vendors — по алфовиту
Документации не нашел :(
с Ценой благо слайдер справляется :)
Комментарии: 6
В документации это четко прописано: Сортировка результатов
&sort=`
resource|publishedon:asc,
resource|createdby:desc
`
&sort=`
ms_product|publishedon:asc,
ms_product|createdby:desc,
ms|price:asc,
ms_vendor|name:desc
`
Спасибо за ответ. Но это сортировка результатов поиска (фильтрации).
У меня задача отсортровать значения эти фильтров. т.е. список доступных производителей в фильтре по алфавиту и тп.
У меня задача отсортровать значения эти фильтров. т.е. список доступных производителей в фильтре по алфавиту и тп.
аа, сортировку именно значений. Этого кстати вроде не было
Здравствуйте.
Скажите, пожалуйста, есть ли успехи в решении вопроса?
Скажите, пожалуйста, есть ли успехи в решении вопроса?
Я бы попробовал расширить класс mse2FiltersHandler и переписать функцию getMsOptionValues, добавив туда нужные сортировки.
В настройках заменить значение mse2_filters_handler_class на свой класс, расширяющий mse2FiltersHandler.
В настройках заменить значение mse2_filters_handler_class на свой класс, расширяющий mse2FiltersHandler.
Точно!
Так и сделал. Мне тоже нужно было изменить сортировку.
В функции buildTVsFilter закомментировал ksort($results);
А в функцию getTvValues после:
Так и сделал. Мне тоже нужно было изменить сортировку.
В функции 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]);
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.