Фасетные фильтры проблема в работе в цены виджет Ranges: Min/Max UI Slider
Как избавится от того что друпал при выборе цены в N диапазоне начинает укорачивать диапазон выбора?
Побывал ставить свежую версию Search ranges 7.x-1.5+9-dev там вроде подправили работу слайдера(ползунка) все хорошо если какой нибудь словарь, диапазон не съедается а во с ценой все тоже.
Комментарии
я нашел место куда подпихнуть границы мин и мах. только не знаю как их получить.
Я имею ввиду что не знаю как сделать это с помощью search api или чего то другого что не будет нагружать сильно сервер.
Обсуждение данного косяка: https://drupal.org/node/1989776
патч: http://drupalcode.org/project/search_api_ranges.git/commitdiff/433bbcd?h...
+++ b/search_api_ranges.module
@@ -144,11 +144,8 @@ function search_api_ranges_minmax($variables, $order = 'ASC') {
// otherwise our min/max would always equal user input.
$filters = &$query->getFilter()->getFilters();
foreach ($filters as $key => $filter) {
-
- // Check for array: old style filters are objects which we can skip.
- if (is_array($filter)) {
- if ($filter[0] == $variables['range_field'] || ($filter[0] != $variables['range_field'] && $filter[2] == '<>')) {
- $current_filter = $filters[$key];
+ if( isset($filter->tags) && is_array($filter->tags) ){
+ if( in_array('facet:'.$variables['range_field'], $filter->tags) ){
unset($filters[$key]);
}
}
применял для версии 7x-1.5
у меня стоит, последняя дев версия, и уже все пропатчено, патч помогает но не так как хочется. Рабочую версию тоже ставил, патчил, нифига.
Пример: фильтр от 1 до 100;
если фильтр ставим от 10 до 100 все ок, работает как надо можно уменьшить;
если фильтр ставим от 12 до 100 то фильтр режется, и уменьшить нельзя
Может я цену как то не так настраиваю?
Для примера можно поставить комерце кикстартер. Там так же
Переписывал часть модуля, ибо местами кривое как 100 чертей. Проверьте не задваивается ли значение фильтра в урле при его повторном применении. По логике данного фасета его предыдущее значение должно затираться при вводе нового, насколько я знаю это не исправлено до сих пор.
пришла идея, может дадите рабочую версию модуля)) пусть и старую..
ну как релили?
разобрался
Поделись пожалуйста как разобрался.
Подниму тему - как быть если нужно избавиться от нулевых минимальных значений? Чтобы ноль не попадал в минимальное значение?
вроде бы 0 попадает если есть товары с такой ценой, все логично.
Согласен. Но дело в том что не очень добросовестный человек импортировал 10000 товаров как попало и у некоторых цена 0 и год выпуска так же 0, пока правлю нужно исключить это значение из минимального для слайдера. Как быть?
Поставьте в представлении фильтр, чтобы отображалось то, у чего поле больше нуля.
Чёрт возьми, вы правы, опять выручаете, спасибо Вам и всем кто ответил!