Aliaksandr
Обычно запрос на то, чтобы находило только товары, где задан синий и зеленый и не находило те, где задан один из цветов
Wlatt
Для цвета подходит сингл
Aliaksandr
Если применительно к цветам)
Wlatt
Да что вы со своими цветами, как будто все товары только по цветам разделяются
Anonymous
приведите пример товара, у которого один и тот же параметр может быть другим)
Несколько материалов из которых сделано что-либо. Латунь - Медь.
Aliaksandr
Т.е. если я ищу туфли 44 + 45 размера, то мне показало только туфли, где есть только 44 И только 45 размер
Aliaksandr
И не показало, если таи есть 44 45 и 43 размер
Wlatt
Всё, стоп
Сергей
Несколько материалов из которых сделано что-либо. Латунь - Медь.
это не пример)) логическое или, или медь или латунь
Wlatt
Я задал конкретный вопрос
Anonymous
это не пример)) логическое или, или медь или латунь
И получается, что если тебе нужны только Латунные + прочие мареиалы, то выбираем Латунь А если Латунь с медью. То нужен Латунь и Медь Но не нужны Латунь - Золото Медь - Серебро и прочее
Wlatt
Вы в свои случаи ушли
Wlatt
Да блин, вот сплавы продаются, из разных металов
Wlatt
Мне нужен сплав, в котором и медь и латунь
Wlatt
Достаточный пример?
Aliaksandr
это не пример)) логическое или, или медь или латунь
Более понятный пример: ингредиенты. Т.е. есть картошка, капуста, сметана - что можно из их сделать. Т.е. если надо еще и морковка, то это не показывается.
Wlatt
Я же не с потолка взял этот вопрос
Anonymous
да не вопрос)) это не проблема, но не может быть товар из латуни, сделан из серебра)
Вопрос был можно ли было сделать логическое И, я тебе привёл прмер где нужно именно И, а не ИЛИ
Wlatt
Заход номер два
Wlatt
Как тв чекбокс завести в ефилтре через логическое «и», а не «или»?
Aliaksandr
Никак
Заход номер 2
Wlatt
Заход номер 2
От Вас уже слышал )
Aliaksandr
Ну послушаем от других))
Wlatt
Ну послушаем от других))
А почему бы и нет, Вы же не последняя инстанция
Anonymous
А почему бы и нет, Вы же не последняя инстанция
Скорее последняя, это как бы автор фильтра.
Сергей
😂😂😂
Wlatt
Скорее последняя, это как бы автор фильтра.
Отлично )) Может кто и перепиливал. Разработчик - конечно круто, но всегда найдутся те, кто тоже хорошо разбирается и решал этот вопрос
Aliaksandr
Поскольку таких параметров обычно один, то я несколько раз рекомендовал под него фильтровать отдельно по своей логике и просто использовать плейсхлдер eFilter_search_ids
Aliaksandr
Сергей
Ну они ж не все через И:)
нет конечно. в рамках одного параметра ИЛИ, а по соседним И
Aliaksandr
нет конечно. в рамках одного параметра ИЛИ, а по соседним И
Ну это стандартная логика и для ефильтра)
Сергей
Ну это стандартная логика и для ефильтра)
ну значит и будет работать ИЛИ в рамках одного параметра, зачем ты человека обманул)))))
Aliaksandr
Я про то, что ему можно подсунуть уже отфильтрованный предварительно список айдишников по какому то своему специфическому признаку
Aliaksandr
Вот отвечал как-то в личке
Aliaksandr
можно как вариант написать отдельный сниппет, который вернет отфильтрованный результат по фильтру &filters=`AND(tvd:composition:=:18||20)` и вставит в плейсхолдер с именем eFilter_search_ids - тогда в фильтре будет только то, что надо, но при этом весь функционал ефильтра останется )
Сергей
Человеку нужно И
если у него множественные значения то проблемы нет, а если единичное значение, то фильтр вообще ничего не покажет
Aliaksandr
а у тебя множесвтенные не разделяет разве на отдельные значения?
Так он фильтровать будет только среди предварительно отобранных по фильтру И «=18||20»
Aliaksandr
Т.е. варианты 18||15 или 18||20||14 туда не попадут
Aliaksandr
Это было реализовано для функционала вроде "фильтрация найденного" или "фильтрация избранного", т.е. заранее заданного списка. Но можно приспособить за неимением лучшего и под фильтр И )
Aliaksandr
В фильтре будет отдельно латунные и отдельно оцинкованные, мы их ловим из гет отдельным сниппетом и фильтруем по доклистером просто по "латунные||оцинкованные", ставим список id товаров в плейсхолдер eFilter_search_ids и дальше eFilter фильтрует уже только эти товары
Aliaksandr
Т.е. это именно вариант "приспособить":)
Anonymous
Тут скорее не через доклистер, а через TagSaver http://modx.im/blog/addons/374.html А дальше уже как было сказано выше.
Aliaksandr
Всё хорошо, только с какой вероятностью будет латунные||оцинкованные, а не оцинкованные||золотые||латунные
Так мы знаем, что эти латунно-оцинкованные у нас в тв id=35, допустим. Implode массива $_GET[f][35] через || и даст нам нужное значение
Aliaksandr
Потом мы ищем отдельно фильтром по равенству
Aliaksandr
Т.е. лишнее не пройдет, только то, что выбрано
Aliaksandr
Можно и tagSaver, тут не принципиально, как мы их найдем
Anonymous
Так мы знаем, что эти латунно-оцинкованные у нас в тв id=35, допустим. Implode массива $_GET[f][35] через || и даст нам нужное значение
Если делать implode и опрашивать TV, может возникнуть ситуация Золото и Золотое.(сходу не придумал пример). Но если искать по TV с значение1||значение2 может вылезть неприятая ситуация когда слово целиком являеться частью другого слова.
Aliaksandr
Для равенства это без разницы, мы же не по лайку будем искать, а по точному совпадению
Aliaksandr
Единственно, нужно, чтобы порядок следования совпадал
Anonymous
А точное совпадение не получиться задать для ТВ вида значение1||значение2
Aliaksandr
Почему?
Aliaksandr
Доклистеру пофиг что искать
Anonymous
Почему?
латунные||оцинкованные оцинкованные||золотые||латунные Мне нужны Латунные и Оцинкованные. Как по точному вхождению найти второй вариант?
Wlatt
Итак, костыль мне вроде понятен ))
Aliaksandr
Ввриант, содержащий золотые и не должен попасть, тольео точно "латунные||оцинкованные" нам и нужны. Я так понимаю
Anonymous
Я подумал что нужно то что содержит Латунные и Оцинкованные
Anonymous
Вы правильно поняли
оцинкованные||золотые||латунные Вот этот вариант подходит в эту выборку?
Anonymous
По моей логике да
Aliaksandr
Ну это еще более специфичный фильтр, потому что сплав медь-цинк и медь-цинк-золото это немного разные сплавы)
Anonymous
Если нет, то тогда точно можно искать по точному вхождению и не запариваться.
Wlatt
оцинкованные||золотые||латунные Вот этот вариант подходит в эту выборку?
Да, так как в фильтре выбрали оцинковынные и латунные, а этот сплав как раз содержит цинк и латунь
Anonymous
Ну это еще более специфичный фильтр, потому что сплав медь-цинк и медь-цинк-золото это немного разные сплавы)
Ну сплавы я же первое попавшеевся выдал, не факт что у человека именно оно.
Aliaksandr
Тогда надо делать через несколько фильтров и регексп
Anonymous
Да тут не суть уже
Тогда делайте через tagSaver, он подобную вещь разобьёт на теги, по ним выбираете SELECT-ом нужные id и подставляете в фильтр.
Anonymous
И так как там можно повесить ключ на значения тега или он там даже есть, оно будет быстрей чем поиск по таблице TV
Aliaksandr
Ну сплавы я же первое попавшеевся выдал, не факт что у человека именно оно.
Просто до этого у меня несколько раз спрашивали именно про фильтр, который исключит все лишнее вообще. Видишь, даже понимание что такое фильтр И разное у разных людей)
Aliaksandr
Но общий путь тут все равно один, предварительно отобрать то, что нужно: хоть тегсэйвером, хоть фильтрами доклистера под задачу - не суть важно
Сергей
Просто до этого у меня несколько раз спрашивали именно про фильтр, который исключит все лишнее вообще. Видишь, даже понимание что такое фильтр И разное у разных людей)
кстати да, я специально отключал вывод множественных, поскольку не каждому заказчику понятна логика И и ИЛИ, понятнее всего, латунные - да, железные - нет ))