Не верная работа Фильтра поля Список:мультивыбор

InstantCMS 2.X
#1 23 мая 2018 в 22:22
Раньше как не приходилось использовать фильтры в записях, но сейчас на версии Инстанта 2.10.0 столкнулся с неверной работой фильтра.
У типа контента есть поле Список: мультивыбор, включил его для показа в фильтре и наблюдаю такую картину:
1. Открываю категорию и по умолчанию вижу весь список записей
2. Отмечаю чекбоксом в списке один пункт под которым точно есть записи — эти записи появляются
3. Отмечаю дополнительно пункт под которым нет записей — фильтр отказывается показывать записи из первого отмеченного пункта — в итоге ничего не найдено!
4. Отмечаю 2 пункта, где точно есть записи — опять ничего не найдено!
Фильтр отказывается искать более чем по одному пункту!
Почему так происходит? Нельзя искать по нескольким пунктам одновременно? Если так, тогда почему нет запрета на отметку более одного пункта?
#2 23 мая 2018 в 23:09

Если фильтр с полем "Список" с включенной опцией "Множественный выбор в фильтре" работает у Вас, значит действительно, возможно, проблема с фильтром для поля "Список: мультивыбор"

шэльдэ бердэ бельдэ
Проверил! Работает!
#3 23 мая 2018 в 23:09
А вообще-то нет, не правильно всё. "Список: мультивыбор" подразумевает поиск точных совпадений записей. Т.е., если для поля "Список" фильтр работает по логике "или то, или это", и фильтрация происходит по любому значению, потому что в записи указано только одно значение, то для поля "Список: мультивыбор" по логике "и", исключая "или", фильтрация происходит по всем выбранным значениям. В принципе, логично. Ищет человек желтую майку с синими рукавами, зачем ему показывать записи, в которых синий с красным? Его интересуют только сочетание желтого и синего.

Есть 4 записи, в которых выбраны варианты из списка:

1-я запись — выбран 1 вариант
2-я запись — 1 и 3 варианты
3-я запись — 2 и 3 варианты
4-я запись — 1, 2 и 3 варианты

Выбираем в фильтре вариант 1, получаем 1, 2 и 4 записи.
Выбираем в фильтре варианты 1 и 2 — получаем только 4 запись.
Выбираем в фильтре 1 и 3 варианты — получаем 2 и 4 запись.
Выбираем 2 вариант, получаем 3 и 4 запись.
Выбираем 2 и 3 варианты — получаем 3 и 4 запись.

Т.е., во всех этих записях, которые мы получили, присутствуют одновременно все выбранные варианты.
#4 23 мая 2018 в 23:18
Не знаю что и сказать. По логике поле "Список: мультивыбор" для того и предназначен, чтобы обрабатывать множественные выборы и по умолчанию у него отсутствует параметр Множественный выбор в фильтре. Я его выбрал с параметром отмечать в чекбоксах, так как более понятен для неискушенного пользователя.
Считаю, что поле "Список: мультивыбор" работает некорректно!
#5 23 мая 2018 в 23:27

Считаю, что поле "Список: мультивыбор" работает некорректно!

vikont
Корректно работает. Так и должно. Смиритесь.

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

vikont
Правильно, зачем там параметр "Множественный выбор в фильтре", если это поле с мультивыбором? При добавлении выбрано 2 параметра. Человек ищет одновременно по двум этим параметрам. Он и получает только то, что его интересует.

Логика у поля правильная. Есть две майки — одна красно-синяя, а вторая желто-синяя. В фильтре выбран синий цвет — получим обе майки. Выбраны синий и желтый — получим желто-синюю майку. И несмотря на то, что в красно-синей тоже присутствует синий, но там нет желтого. Если бы майка была красно-сине-желтая, тогда и она бы была показана. А так красно-синяя не подходит, она нам не интересна, потому что она не содержит обоих нужных нам цветов — желтого и синего.

А по Вашей логике (по которой Вы что-то там считаете), фильтр вообще по всем полям должен фильтровать так, что хоть одно поле из всех если заполнено правильно, значит показывать нам эту запись. Но на то он и фильтр, чтобы отфильтровать лишнее и показать только точное вхождение. Список: мультивыбор — это такое поле, где Вы можете в рамках одного поля выбрать несколько параметров, чтобы не создавать кучу Списков, у которых одна и та же суть, например, цвет майки. Цвет1 — синий, желтый, красный, Цвет2 — синий, желтый, красный, Цвет3 — синий, желтый, красный. Чтобы не создавать эти три поля (Цвет1, Цвет2 и Цвет3) у Вас есть поле "Список: мультивыбор" (Цвет), где Вы можете выбрать несколько вариантов.
#6 23 мая 2018 в 23:51

При добавлении добавлено 2 параметра. Человек ищет одновременно по двум этим параметрам. Он и получает только то, что его интересует.

шэльдэ бердэ бельдэ
В том то и дело, что НЕ ПОЛУЧАЕТ! Когда отмечено 2 параметра, то не выдает данных ни по одному из них, есть они там или нет!
#7 23 мая 2018 в 23:55

Корректно работает. Так и должно. Смиритесь.

шэльдэ бердэ бельдэ
С чем я должен смириться? С тем, что поле "Список: мультивыбор" позволяет много выбирать, но не обеспечивает Мультипоиск (Мультифильтр)? А поле просто Список не позволяет много выбирать, за то есть Мультифильтр! Как вам логика?
#8 24 мая 2018 в 00:13

В том то и дело, что НЕ ПОЛУЧАЕТ! Когда отмечено 2 параметра, то не выдает данных ни по одному из них, есть они там или нет!

vikont
Это не правда. Всё работает корректно. Логика такая, как я описал здесь

Есть 4 записи, в которых выбран варианты из списка:

1-я запись — выбран 1 вариант
2-я запись — 1 и 3 варианты
3-я запись — 2 и 3 варианты
4-я запись — 1, 2 и 3 варианты

Выбираем в фильтре вариант 1, получаем 1, 2 и 4 записи.
Выбираем в фильтре варианты 1 и 2 — получаем только 4 запись.
Выбираем в фильтре 1 и 3 варианты — получаем 2 и 4 запись.
Выбираем 2 и 3 варианты — получаем 3 и 4 запись.

шэльдэ бердэ бельдэ





С чем я должен смириться?

vikont
С тем, что фильтр работает корректно. Вам с этим жить. Ну или если не работает так, как я описал выше, значит, возможно, как вариант,

Вы не корректно обновились, и "полетели" компоненты из коробки. Всякое бывает. Может файлы шаблона надо было тоже обновить. Ну, смержить там что-нибудь и т.д.

шэльдэ бердэ бельдэ
#9 24 мая 2018 в 00:52
Даже если все так как вы пишите, то это НЕ ПРАВИЛЬНО!
При выборе параметра 1 и 2, должно выбирать все что есть с параметрами 1, 2 и 1+2 Такая логика работы фильтра правильная и понятная большинству!
Я не смогу каждого за ручку учить премудростям странной работы фильтра с множественным выбором!
Мне надо иметь возможность выбирать несколько параметров а также находить по одному из параметров, а не точное соответствие!
Как это сделать???
#10 24 мая 2018 в 01:32
А у меня получилось! Есть один большой секрет!!!!!
Когда выбираешь один из параметров к которому не привязана ни одна запись, то фильтр не выбирает и из остальных, к которым привязаны записи!

Fuze, почему в фильтре поле Список Мультивыбор отбрасывает все записи, если при выборе нескольких параметров к одному из них не привязано ни одной записи???? Или это глючек?
#11 24 мая 2018 в 06:54
vikont, данный тип поля работает по принципу "И", а не так как вы хотите по принципу "ИЛИ". То есть выбирает записи у которых есть параметр 1 "И" параметр 2, а не те у которых есть параметр 1 "ИЛИ" параметр 2. И это поле так и останется с такой логикой.
#12 24 мая 2018 в 09:32

Такая логика работы фильтра правильная и понятная большинству!

vikont
Вы и есть то самое большинство? Тогда ладно.

иметь возможность выбирать несколько параметров а также находить по одному из параметров, а не точное соответствие!
Как это сделать???

vikont
Отказаться от поля Список: мультивыбор в пользу поля Список.

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

vikont
Я не Fuze, но выше я Вам уже объяснил всё самым подробным образом — все значения, выбранные в фильтре, должны присутствовать в одной записи. Тогда эта запись будет в результатах фильтрации.

Или это глючек?

vikont
Это правильно, так и должно быть. Смиритесь.
#13 24 мая 2018 в 11:54

vikont:
Такая логика работы фильтра правильная и понятная большинству!
Вы и есть то самое большинство? Тогда ладно.

шэльдэ бердэ бельдэ
Многократно сталкиваюсь с тем, что у программистов иная логика — так наверно и должно быть! Но вы пишите программы не для программистов, а для простых смертных, которые видя возможность многократного выбора, будут пытаться получить выборку по нескольким параметрам!
Если при этом они получат "дырку от бублика", то будут считать, что информации нет совсем!

vikont, данный тип поля работает по принципу "И", а не так как вы хотите по принципу "ИЛИ". То есть выбирает записи у которых есть параметр 1 "И" параметр 2, а не те у которых есть параметр 1 "ИЛИ" параметр 2. И это поле так и останется с такой логикой.

Loadырь
Моя проверка показала, что в фильтре поле Список Мультивыбор работает и как "И" и как "ИЛИ", то есть выбирает записи в которых есть хотя бы один из указанных параметров!!!
То есть, я получал выборку в которой записи привязаны как к одному из указанных параметров так и ко всем.

Вопрос не в этом, а в том, почему указывая несколько параметров попав на параметр к которому еще не привязано ни одной записи фильтр не выдает и те записи к которым есть привязанные параметры??? То есть, ничего не выдает!
А еще было бы круче если бы при выборке по нескольким параметрам была возможность получать ответ с разбивкой по этим параметрам.
#14 24 мая 2018 в 13:06

Моя проверка показала, что в фильтре поле Список Мультивыбор работает и как "И" и как "ИЛИ"

vikont
Значит мы говорим о разных полях.
#15 24 мая 2018 в 13:11

мы говорим о разных полях

Loadырь
Об одном и том же. Просто человек выражает свой протест, это нормально в цивилизованном обществе.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.