[FlatFilters 1.0.0-pl] Первый релиз.
Приветствую, коллеги. Наконец-то довёл до ума свой компонент фильтрации. Он прошёл модерацию и доступен по ссылке. К сожалению, бесплатно выложить не удалось из-за правил modstore. К компоненту есть достаточно подробная документация.
Для тех, кто впервые слышит про FlatFilters поясню: это альтернатива всем известному компоненту mSearch2. Компонент предлагает другой подход к фильтрации, что приводит как к значительному увеличению скорости фильтрации, так и к ряду особенностей. Это некое компромиссное решение между mSearch2 и сервисами типа ElasticSearch или Sphinx.
Перед установкой компонента убедитесь, что у вас установлен SendIt версии 2.0.0 или выше.
Преимущества
1. Не требует установки на сервер сторонних библиотек или сервисов типа ElasticSearch или Sphinx.
2. Высокая скорость фильтрации (менее 1 секунды при 100 000 товаров).
3. Простота настройки, при использовании стандартных классов.
4. Фильтрация по множественным значениям.
5. Умеет фильтровать пользователей.
6. Умеет фильтровать по полям тип migx с глубиной вложенности не более 1.
7. Кастомизация логики с помощью плагинов.
Особенности
1. Не умеет показывать количество совпадений по отдельным фильтрам.
2. Умеет блокировать значения фильтров, которые точно вернут пустой результат.
3. Возвращает результат в виде строки со списком id, но не готовый html или объект.
4. Нет встроенного поиска.
UPD: Добавил страницу с mFilters2. Там только фильтры по цене и по родителю, но чтобы понять разницу этого достаточно.
Спасибо за внимание!
Для тех, кто впервые слышит про FlatFilters поясню: это альтернатива всем известному компоненту mSearch2. Компонент предлагает другой подход к фильтрации, что приводит как к значительному увеличению скорости фильтрации, так и к ряду особенностей. Это некое компромиссное решение между mSearch2 и сервисами типа ElasticSearch или Sphinx.
Перед установкой компонента убедитесь, что у вас установлен SendIt версии 2.0.0 или выше.
Преимущества
1. Не требует установки на сервер сторонних библиотек или сервисов типа ElasticSearch или Sphinx.
2. Высокая скорость фильтрации (менее 1 секунды при 100 000 товаров).
3. Простота настройки, при использовании стандартных классов.
4. Фильтрация по множественным значениям.
5. Умеет фильтровать пользователей.
6. Умеет фильтровать по полям тип migx с глубиной вложенности не более 1.
7. Кастомизация логики с помощью плагинов.
Особенности
1. Не умеет показывать количество совпадений по отдельным фильтрам.
2. Умеет блокировать значения фильтров, которые точно вернут пустой результат.
3. Возвращает результат в виде строки со списком id, но не готовый html или объект.
4. Нет встроенного поиска.
UPD: Добавил страницу с mFilters2. Там только фильтры по цене и по родителю, но чтобы понять разницу этого достаточно.
Спасибо за внимание!
Поблагодарить автора
Отправить деньги
Комментарии: 37
Интересно посмотреть сравнение по скорости с mFilter2
Может быть на досуге, когда будет настроение, добавлю на део-сайте страницу с mFilter2.
Скорость впечатляет на демо сайте. Скажите, пожалуйста, а modx3, когда приблизительно будет поддерживать ваш замечательный компонент?
Чисто теоретически может быть так, что уже поддерживает, так как вроде бы там нет ничего такого, что не поддерживалось бы в Modx 3. Но я не проверял и до конца лета вряд ли буду этим заниматься.
Здорово, надеюсь MODX 3 будет поддерживаться. По сути только отсутствие mFilter останавливает от перехода на modx3.
А отсутствие miniShop не останавливает?
Неа, я от минишопа только галерею и связи товаров использую. Это можно и без него реализовать.
Мельком глянул документацию, но не нашел ответа.
Можно ли фильтровать по TV?
…
Все нашел, вроде умеет фильтровать по TV))
Можно ли фильтровать по TV?
…
Все нашел, вроде умеет фильтровать по TV))
Умеет, даже по ТВ типа migx с уровнем вложенности не более одного, т.е. migx в migx не потянет. Ну и плагинами вообще можно всё что угодно навертеть.
Давно был нужен. А то mfilter на большом кол-ве товаров просто в шоке от происходящего. И такое ощущение что он не кеширует ничего(( Чисто ИМХО, а то накинутся
Хочу ещё раз подчеркнуть, это компромиссное решение, при разработке в приоритет ставилась скорость работы и простота интеграции, в ущерб некоторой функциональности.
А какой функциональности идет ущерб, кроме того что не отображается кол-во результатов?
Больше вроде никакой)))
Вам осталось поиск еще запилить) Корзину сделали) Фильтры сделали) Класс
Поиск нет смысла пилить. Если делать в рамках Modx, то ничего лучше phpMorphy не появилось, а эту библиотеку использует mSearch2, вряд ли я сделаю лучше. А если использовать ElasticSearch, то это уже решение не для всех, а только для тех у кого VPS.
Можно ее же использовать для комплекса
А не могли бы вы сказать, через что вы собираете компоненты? Через siteextra?
Спасибо!
Здравствуйте, звучит заманчиво но перед тем как купить ваш плагин хочу понять 2 вопроса:
- Совместим ли он с Polylang?
- Нужно ли делать индексацию каждый раз при создании нового ресурса?
Совместим ли он с Polylang?Polylang не умеет переводить значения опций, а переводы названий фильтров можно сделать через управление словарями.
Нужно ли делать индексацию каждый раз при создании нового ресурса?Если ресурс создаётся через админку или стандартный процессор — нет не нужно.
Я не использую minishop, фильтр нужен только для статей-ресурсов, фильтрация нужна будет по ТВ полям которые polylang кажется переводит. И да — создаваться ресурсы будут через админку стандартным путем. Спасибо за ответ!
Я не использую minishop, фильтр нужен только для статей-ресурсов, фильтрация нужна будет по ТВ полям которые polylang кажется переводит.В любом случае, если это текстовые значения индексировать их плохая идея, так как по факту значение одно, просто на разных языках. Я бы заменил ключом, а переводы добавил в словари.
Polylang не умеет переводить значения опций, а переводы названий фильтров можно сделать через управление словарями.
Значения опций на другом языке указывается в локализации, просто заполняются на нужном языкеСкрин: disk.yandex.ru/d/rzQVfNHcuQmSAg
а подскажите, пожалуйста, если установлен mSearch2 (для поиска) ваше решение можно использовать параллельно, только для фильтрации? И еще, не нашел в документации слов про «опции». С опциями товаров будет работать? Или у вас все на TV сделано? Так же, если можно, добавьте пожалуйста несколько скриншотов из настройки компонента в документацию:
нажав жёлтую (или оранжевую или вторую слева в колонке Действия)Мне не хватает силы своего воображения, чтобы представить это. Растерялся :_(
Теперь добавим блок для показа метаинформации: количество результатов, выбранные фильтры, время фильтрации.А можно простецкий пример на fenom? Сэкономит время.
1. да, использовать для фильтрации и для поиска возможно, будет работать через параметр &parents
2. да, фильтровать по опциям можно — параметр filters, вот пример парочки фильтров
2. да, фильтровать по опциям можно — параметр filters, вот пример парочки фильтров
&filters=`ms|price:number,msoption|razmer,tv|fil_top_row
по остальному — смотрите статьи в интернете, одно из лучших умений начинающего программиста — гугление
я извиняюсь, не глянул что ветка про другой компонент совсем, весь ответ про стандартный mfilter
не нашел как скрыть/убрать комментарий — и время редактирования тоже истекло(
не нашел как скрыть/убрать комментарий — и время редактирования тоже истекло(
спасибо за ответ. На счет «гугления» — я пытаюсь делать на zoomx. Некоторые вещи не смог победить с ним, вроде vendor.name в чанке. Все время выводит единицу. Как только не пробовал. Да и тот же mSearch2, не получилось у меня вывести количество результатов. Гуглил, использовал и total, и totalvar…
Я предполагаю, что если бы многие были чуточку «добрее», не составило бы труда сделать примеры или дать больше информации. Кроме того, зачем я, или кто-нибудь еще будет писать в поддержку автору материала, когда перед глазами будут готовые примеры хотя бы на fenom. Но видимо, им нравится постоянно отвечать, вместо того, чтобы сделать подробную документацию один раз :)
Я предполагаю, что если бы многие были чуточку «добрее», не составило бы труда сделать примеры или дать больше информации. Кроме того, зачем я, или кто-нибудь еще будет писать в поддержку автору материала, когда перед глазами будут готовые примеры хотя бы на fenom. Но видимо, им нравится постоянно отвечать, вместо того, чтобы сделать подробную документацию один раз :)
ваше решение можно использовать параллельноМожно
С опциями товаров будет работать?Это настолько само собой разумеется, что я не стал писать.
Мне не хватает силы своего воображения, чтобы представить это.А зачем это воображать? Установите компонент на тестовом сайте на modhost и посмотрите.
А можно простецкий пример на fenom?Читайте документацию
Честное слово. Вашему компоненту не хватает примера использования.
Например как его прикрутить к шаблону каталог и что бы он работал во всех уровнях влажности. Это же самая базовая необходимость. Ну что бы люди могли сравнить его например с mfilter2. Вообще, чтобы писать документацию, как мне кажется, нужен скил. В данном варианте получается человек устанавливает ваш компонент и сидит страдает, т.к. функционал не заводится из коробки) Любому продукту важно продвижение или демонстрация как это сделать. Или логика как у похожих дополнений. Тут к сожалению такого нет. Надеюсь когда у вас будет время вы сможете что-нибудь такое придумать.
Наверно если на странице modstore будет написано Быстрый старт:
Сделайте это это и это и все у вас в каталоге рабоатет фильтр, он будет более привлекательным покупателям.
Я понимаю, что вам, как создателю и кто в нем уже как следует разобрался все кажется простым, но это к сожалению не так) А отнимать ваше время, хоть вы в чате отлично помогаете, не хочется.
Если его попробовало 30 человек и все с легкостью его используют — вопросов нет. Значит проблема во мне.
Например как его прикрутить к шаблону каталог и что бы он работал во всех уровнях влажности. Это же самая базовая необходимость. Ну что бы люди могли сравнить его например с mfilter2. Вообще, чтобы писать документацию, как мне кажется, нужен скил. В данном варианте получается человек устанавливает ваш компонент и сидит страдает, т.к. функционал не заводится из коробки) Любому продукту важно продвижение или демонстрация как это сделать. Или логика как у похожих дополнений. Тут к сожалению такого нет. Надеюсь когда у вас будет время вы сможете что-нибудь такое придумать.
Наверно если на странице modstore будет написано Быстрый старт:
Сделайте это это и это и все у вас в каталоге рабоатет фильтр, он будет более привлекательным покупателям.
Я понимаю, что вам, как создателю и кто в нем уже как следует разобрался все кажется простым, но это к сожалению не так) А отнимать ваше время, хоть вы в чате отлично помогаете, не хочется.
Если его попробовало 30 человек и все с легкостью его используют — вопросов нет. Значит проблема во мне.
Например как его прикрутить к шаблону каталог и что бы он работал во всех уровнях влажности.Вот тут написано как подготовить шаблон, а вот тут как настроить конфигурацию.
А отнимать ваше время, хоть вы в чате отлично помогаете, не хочется.Я с радостью помогаю всем, кто желает разобраться, так что если есть конкретные вопросы милости прошу в Телеграм.
Артур. По твоему не логично что если ты вставляешь код из документации в раздел Каталог, то он должен работать и в каталоге и в его подкатегориях? Дополнение не только должно быть классным, но и удобным.
Я без претензий. Я наоборот хотел помочь.
Я без претензий. Я наоборот хотел помочь.
По твоему не логично что если ты вставляешь код из документации в раздел Каталог, то он должен работать и в каталоге и в его подкатегориях?Учитывая концепцию компонента, нет нелогично, в подкатегориях могут быть разные наборы фильтров и разные конфигурации соответственно.
Кроме того, у подкатегорий может быть другой шаблон, а все шаблоны, в которых необходимо вывести фильтры, нужно перечислить в системной настройке ff_tpls.
Так «Могут быть разные работы фильтров» это вторично. Если пользователю нужны разные наборы фильтров, то как раз логично что он будет настраивать это.
Сейчас логика такая: если у нас в категории товаров есть подкатегории вашему компоненту пофиг на это, и он товары из них не подтягивает.
А логично как раз то, что он будет учитывать подкатегории и фильтровать все эти товары. А если нам нужно что бы использовалось какое-то там другое правило мы как раз можем указать другую конфигурацию, которая как раз будет иметь какое-то там кастомное поведение.
Не буду больше утомлять. Если тебя как автора все устраивает, то мои рассуждения ни к чему.
Сейчас логика такая: если у нас в категории товаров есть подкатегории вашему компоненту пофиг на это, и он товары из них не подтягивает.
А логично как раз то, что он будет учитывать подкатегории и фильтровать все эти товары. А если нам нужно что бы использовалось какое-то там другое правило мы как раз можем указать другую конфигурацию, которая как раз будет иметь какое-то там кастомное поведение.
Не буду больше утомлять. Если тебя как автора все устраивает, то мои рассуждения ни к чему.
Сейчас логика такая: если у нас в категории товаров есть подкатегории вашему компоненту пофиг на это, и он товары из них не подтягивает.Если у тебя не подтягиваются товары из подкатегорий, проверь включена ли карта ресурсов. Без неё не будет работать метод getChildIds().
Добрый день! Перед покупкой хочу уточнить два момента
Совместим ли компонент с php 8+,
Совместим ли компонент с seofilter?
Совместим ли компонент с php 8+,
Совместим ли компонент с seofilter?
Приветствую, не тестировал ни одно, ни другое, так что не рекомендую покупать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.