Фильтр по полю с множественными значениями

Главные вкладки

Аватар пользователя R0man R0man 16 января 2017 в 15:36

Доброго времени суток, коллеги
Прошу помощи в решении возникшего вопроса, второй день не поддается разгадке
Есть необходимость создать сложный раскрытый фильтр во VIEWS по полю, имеющего множественное значение. Задача создать поле "длинна", что имеет значение в метрах и фунах, это получается при помощи модуля Measured Value Field (MVF). В наборе модуля better exposed filter имеется возможность выбора диапазона "между" при помощи слайдера bef jquery ui slider. Вся эта связка отлично работает, если в поле одно значение. Вопрос, как мне при помощи чек бокса передать слайдеру, по какому значению поля вести фильтрацию? Я только начал разбираться со связями и контекстными фильтрами, хочется средствами views решить это, для кого-то эта задача покажется простой, не судите строго.

Получилось фильтровать без слайдера и выбирая значение фут или метры для каждого поля:
filtr
а нужно вот так:
filter

Либо подскажите понятный и рабочий подход к вопросу, возможно здесь достаточно просто правильно настроить связь и объединить несколько фильтров

ВложениеРазмер
Иконка изображения 1.png129.37 КБ
Иконка изображения 1_2.png27.17 КБ

Комментарии

Аватар пользователя R0man R0man 17 января 2017 в 11:29

Упростил задачу уйдя от множественного значения, теперь у типа материала два поля, одно Длинна в метрах, второе, Длинна в футах. Фильтр без проблем выводит контент отдельно по каждому из полей.

filtr

Как сделать выбор чекбоксом один или второй фильтр (метры/футы)

Аватар пользователя postgres postgres 16 января 2017 в 23:27

не нужен чекбокс, должен срабатывать только тот фильтр, в котором заполнялись данные. проверить это можно через строку запроса URL после отправки, там не настолько запутано, можно разобраться.

Аватар пользователя R0man R0man 16 января 2017 в 23:51

спасибо за ответ, но... мне нужно в фильтрах для пользователя предоставить выбор, в футах или метрах фильтровать материал, следовательно, нужно как-то привязать к чекбоксу либо фильтр работающий по полю с метрами, либо по полю с футами.

казалось бы, простая задача, переключение метрики в раскрытых фильтрах, а связи выходят сложными

Аватар пользователя multpix multpix 17 января 2017 в 0:13

R0man wrote:

у типа материала два поля, одно Длинна в метрах, второе, Длинна в футах

Дальше можно не продолжать.

Выберите одну систему мер.
Выбрав метрическую - значения для английской получайте используя соответствующий множитель.

Аватар пользователя postgres postgres 17 января 2017 в 10:15

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

Аватар пользователя R0man R0man 17 января 2017 в 12:28

multpix wrote:

Выбрав метрическую - значения для английской получайте используя соответствующий множитель.

да, как раз это я и сделал и описал в самом начале темы. При помощи модуля Units и Common units and measures, а так же Unit Conversion Field Formatters можно действительно создать сущность с двумя метрическими единицами и использовать множитель, фактор для метров у меня 1, для футов 0.304, но что с этим делать дальше? Вывести поле и выбрать, в какой оно метрике я могу, а вот фильтр получается по множественному значению, критерий фильтрации "между" я могу поставить и могу для каждого из граничных значений выбрать метрику, но мне нужен переключатель метров и футов один и чтоб в фильтре шла по нему выборка
на данный момент поле с метрическими значениями вот так выводится в фильтрах:

filter

значение фильтра установлено "между"
соответственно есть два поля для ограничений и у каждого поля переключатель метрики, так вот оно само отлично переводит метры в футы и фильтрует. А рядом я вывел target_id этого метрического поля, можно выбрать значения фут/метр и все, они ничего не делают. Слайдер выбора диапазона тоже не подключается, у поля не одно значение получается...

Аватар пользователя multpix multpix 17 января 2017 в 13:48

Я бы использовал одно поле - число,
выборка, фильтры - это понятно,
а дале, я-бы в слое темы на клиенте js-ом конвертировал отображение значений (метр/енгл),
да чтоб тумблер метр/енгл писал в куку какую систему предпочел посетитель.

как-то так)))

p/s
у кого что болит - тот о том и говорит,
я сейчас вью долблю, ее бы и прикрутил на стр с формой)))
но по факту - это избыточно, решение может быть проще.

p/p/s
@R0man, есть корректировка,
даю наводку: длинна рука; длина руки
сенкс камрадам за внимательность))

Аватар пользователя R0man R0man 17 января 2017 в 14:28
1

Спасибо ) думаю, я так и сделаю, даже повеселел немного ) сделаю простое поле - десятичное число и уже потом придумаю огород, никогда не поздно ) но если найду решение фильтрации подобных метрических полей, поделюсь ) но предложения по теме приветствуются!
и спасибо за наводку Wink

Аватар пользователя Studio VIZA Studio VIZA 17 января 2017 в 16:38

R0man wrote:

но предложения по теме приветствуются!

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