Вторая версия расширенных фильтров (как в Яндекс.Маркете)

#
Вторая версия расширенных фильтров (как в Яндекс.Маркете)
Расширенные фильтры для HostCMS «Как в Яндекс.Маркете» уже пару лет известны многим HostCMS-разработчикам по этой теме на форуме.

Разработка оказалось востребована в сообществе, а потому живет и развивается, и я рад представить вашему вниманию вторую версию «Расширенных фильтров». Если попытаться совсем кратко описать ключевые отличия Вторых фильтров от первых, то получится так: Удобнее, Быстрее, Дешевле!

Официальная документация по второй версии модуля фильтров находится на моем сайте - http://hostcmsblog.ru/blog/extendedfilters/

Ключевые отличия от первой версии:

  • Код наконец-то вынесен в отдельный модуль;
  • Добавлен инсталлятор;
  • Аналогичная функциональность по фильтрации реализована и для инфосистем;
  • Сделано большое количество оптимизаций в разных местах кода;
  • Реализован новый алгоритм запросов к базе, использующий при построении выборок join к временной таблице вместо предиката IN к массиву идентификаторов, дающий на тяжелых базах ускорение до 10 раз;
  • Для тяжелых интернет-магазинов и инфосистем с большим количеством доп.свойств реализованы два дополнительных режима оптимизации для формирования узла shop_item_properties (informationsystem_item_properties) в xml: первая ограничивает набор выводимых в узле доп.свойств только теми, которые используются для построения фильтров; вторая ограничивает выводимые значения для списочных доп.свойств только теми элементами списков, которые применимы к текущей выборке. В зависимости от конфигурации вашего сайта эти два режима могут давать дополнительное ускорение в 4-5 раз.
  • Упрощено подключение стилей и скриптов в макетах
  • Упрощено подключение вывода фильтров в боковой колонке
  • Упрощена настройка ТДС фильтров, ключевые параметры, влияющие на работу фильтров доступны сразу при редактировании узла структуры, использующего ТДС Расширенных фильтров
  • Переписаны слайдеры;
  • Добавлена возможность выводить на клиенте кастомные всплывающие сообщения о кол-во найденных товаров/инфоэлементов;
  • Изменена политика лицензирования;
  • Оставлена частичная совместимость с фильтрами первой версии. В комплекте с модулем идет набор новых ТДС, новых XSL-шаблонов, образцы кода для вставки в макеты, а также новые клиентский js и css. При переходе с версии 1 на версию 2 ТДС необходимо поменять, остальные же части (XSL, js, css) подойдут и от первой версии;
  • Снижена цена!


Демо

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

Демо работы с информационными системами можно увидеть на том же сайте в разделе «Услуги».

Возможности модуля для информационных систем:

  • Функциональность для инфосистем основана на базовом контроллере Informationsystem_Controller_Show, поэтому поддерживает все станадартные режимы и настройки;
  • Легко управляемый вывод элементов из групп и подгрупп: вы просто задаете глубину выборки в настройках узла структуры, все остальное модуль делает сам;
  • Несколько режимов сортировки: по умолчанию, по названию, по возрастанию рейтинга (оценки в комментариях), по популярности (просмотры), и по значениям доп.свойств;
  • Фильтрация по наличию основного изображения у инфоэлементов (большого, малого или любого);
  • Фильтрация по меткам (тегам);
  • Фильтрация по значениям дополнительных свойств, в том числе в сочетании с отбором инфоэлеметов по меткам (тегам);
  • В блоках фильтров при выводе доп.свойств типа «список» отображаются только те значения из списка, которые применимы к инфоэлементам в выборке;
  • В блоках фильтров при выводе доп.свойств типа «число» отображаются минимальное и максимальное значение доп.свойства, которые применимы к инфоэлементам в выборке;
  • Корректный учет ярлыков на инфоэлементы при вычислении фильтров во всех режимах фильтрации и отображения;
  • Простой вывод отдельного блока фильтров в боковой колонке;
  • Оптимизация вывода с помощью временных таблиц, а также два дополнительных оптимизирующих режима при формировании xml;
  • Два режима работы при изменении пользователем параметров фильтров — мгновенная перезагрузка странцы с применением параметров или предварительный подсчет числа подходящих инфоэлементов через быстрый ajax-запрос;
  • Кастомные тексты всплывающих сообщений при отображении результатов ajax-запросов, настраиваются просто в параметрах узла структуры при выборе ТДС Расширенных фильтров.


Возможности модуля для интернет-магазинов:

  • Функциональность для интернет-магазинов основана на базовом контроллере Shop_Controller_Show, поэтому поддерживает все станадартные режимы и настройки;
  • Легко управляемый вывод элементов из групп и подгрупп: вы просто задаете глубину выборки в настройках узла структуры, все остальное модуль делает сам;
  • Два режима построения набора разрешенных доп.свойств при выводе из нескольких групп: строгий (только те доп.свойства которые есть у всех товаров в выборке) и не строгий (все доп.свойства, которые есть хотя бы у одного товара в выборке);
  • Несколько режимов сортировки: по умолчанию, по названию, по цене, по наличию, по возрастанию рейтинга (оценки в комментариях), по популярности (просмотры), и по значениям доп.свойств;
  • Фильтрация по основным свойствам — наличие, производитель, продавец, по диапазону цен, по диапазону габаритных размеров (длина, ширина и глубина в отдельности);
  • Фильтрация по наличию основного изображения у инфоэлементов (большого, малого или любого);
  • Фильтрация по значениям дополнительных свойств, в том числе в сочетании с отбором инфоэлеметов по меткам (тегам);
  • В блоках фильтров при выводе доп.свойств типа «список» отображаются только те значения из списка, которые применимы к товарам в выборке;
  • В блоках фильтров при выводе доп.свойств типа «число» отображаются минимальное и максимальное значение доп.свойства, которые применимы к товарам в выборке;
  • Корректный учет ярлыков на товары при вычислении фильтров во всех режимах фильтрации и отображения;
  • Корректный учет модификаций при вычислении фильтров во всех режимах фильтрации и отображения;
  • Настраиваемый режим вывода модификаций и родительских товаров, удовлетворящих условиям фильтра: выводить только родительские товары (даже если фильтру удовлетворяют только модификации), выводить родительские товары и подходящие модификации, выводить только модификации вместо и на уровне родительских товаров, если родительские товары не удовлетворяют условиям фильтра, а модификации удовлетворяют;
  • Корректный учет скидок при фильтрации и сортировке по цене;
  • Корректная обработка товаров с ценами, номинированными в разных валютах, при фильтрации и сортировке по цене;
  • Простой вывод отдельного блока фильтров в боковой колонке;
  • Оптимизация вывода с помощью временных таблиц, а также два дополнительных оптимизирующих режима при формировании xml;
  • Два режима работы при изменении пользователем параметров фильтров — мгновенная перезагрузка странцы с применением параметров или предварительный подсчет числа подходящих инфоэлементов через быстрый ajax-запрос;
  • Кастомные тексты всплывающих сообщений при отображении результатов ajax-запросов, настраиваются просто в параметрах узла структуры при выборе ТДС Расширенных фильтров;
  • Совместимость с Модулем подписки на товары, отсутствующие в наличии.


Лицензионная политика (кратко)

Теперь модуль привязывается к номеру договора и пин-коду той системы, на которую он устанавливается. Количество сайтов в системе не ограничено. Для установки на другую систему потребуется отдельная лицензия;

Цены

Розничная стоимость одной лицензии на модуль составляет 3 500 рублей.

При приобретении второй и последующих лицензий одним и тем же Покупателем, их стоимость будет снижена до 2 500 рублей. Идентификатором покупателя является его адрес электронной почты.

Для Дилеров модуля — специальные ценовые предложения, обсуждаемые индивидуально. Пишите!

Обновление с версии 1.х

Обновление фильтров с версий 1.х до 2.х платное. При обновлении также применяются изменения лицензионной политики. Если вы ранее приобретали у меня модуль версии 1.х, то вы имеете право на одну льготную лицензию за 1 900 рублей, для установки на один экземпляр системы HostCMS. Вторая и последующие лицензии приобретаются на общих основаниях, по цене 2 500 рублей за одну лицензию.
Заказов не беру. Консультирую редко.
#
Вторая версия расширенных фильтров (как в Яндекс.Маркете)
UPD:

Судьба старой версии

В ветке 1.х последняя актуальная версия - 1.9L, обновление до нее может быть бесплатно предоставлено по запросу владельца.

Ветка фильтров 1.х с этого момента объявляется deprecated, поддержка по ней более не предоставляется, выявленные ошибки более не исправляются.

Актуальная версия модуля фильтров на момент написания этого поста - 2.1.9.
Заказов не беру. Консультирую редко.
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
Как купить вашу разработку? Куда нужно написать?
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
oldmanager, напишите на почту, адрес в моем профиле есть.
Заказов не беру. Консультирую редко.
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
Модуль обновлен до версии 2.2.1, в базовый комплект добавлены XSL-шаблоны в новом, адаптивном дизайне!
(пока только для интернет-магазина и без поддержки модуля подписок на товары)

Адаптивное демо можно посмотреть здесь: http://test2.strigo.ru/shop/videokamery/
Заказов не беру. Консультирую редко.
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
Вот пример сортировки по нескольким полям сразу
http://test.strigo.ru/shop/camcorder/?sorting[]=property_69_1&sorting[]=3&on_page=20
Здесь мы сначала сортируем по доп.свойству "Минимальная освещенность", а затем по названию товара.
Заказов не беру. Консультирую редко.
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
Подскажите, пожалуйста, как сделать, чтобы группы фильтров (fieldset) не сворачивались, а наоборот, раскрывались кликом на названии (legend). И чтобы, если выбрано какое-то свойство, эта группа оставалась открытой при обновлении страницы. Как на Яндекс.Маркете. Очень надо. Так много в списке свойств, что фильтр получается очень длинный.
www.dsaleks.ru - создание сайтов и интернет-магазинов
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
DS Aleks, в xsl-шаблоне попробуйте прописать каждому fieldset класс toggle, скорее всего после этого сразу и заработает )
Заказов не беру. Консультирую редко.
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
Демо примеры не рабочие, покажите фильтр
#
Re: Вторая версия расширенных фильтров (как в Яндекс.Маркете)
DeLeon, спасибо за баг-репорт, поправил настройки сайтов на сервере, теперь демо фильтров снова доступно http://test.strigo.ru/shop/camcorder/
Заказов не беру. Консультирую редко.
Авторизация