[mSearch2] Версия 1.3.0 - псевдонимы фильтров
Представляю вам большое обновление компонента поиска и фильтрации mSearch2.
Во-первых, теперь можно указывать несколько фильтров для одного поля:
Однако, url фильтра становятся еще менее красивыми, чем были раньше, так что я поднапрягся и реализовал во-вторых — псевдонимы фильтров.
Теперь вы можете указать вызову сниппета новый параметр &aliases:
В результате, url будут вот такие:
Обратите внимание, что указание псевдонимов влияет и на указание параметров шаблонов. То есть, если для ms|price указан псевдоним, то и чанк нужно указывать как &tplFilter.row.price, а не &tplFilter.row.ms|price.
Чтобы это работало, вам нужно обновить старые чанки или заменить у них самостоятельно
Рабочий пример уже здесь — modx.pro/search?parent=21&year=2013&query=Тест&sort=date:desc. Если &aliases пуст, то всё работает как и раньше.
Еще добавлены фильтры month и day. Также в фильтрации дат исправлено несколько ошибок и немного оптимизирована работа предсказаний результатов.
Новая версия уже доступна для обновления. Если вы еще не купили лучший компонент для поиска и фильтрации в MODX — самое время это сделать.
Документацию и параметры сниппетов обновил.
Во-первых, теперь можно указывать несколько фильтров для одного поля:
&filters=`
createdon:year,
createdon:month
`
Если какое-то поле указано 2 и более раз, то его имя прописывается как поле-фильтр и получаетсяcreatedon-year и createdon-monthСоответственно, вы можете указать для этих полей отдельные записи в лексиконах.
Однако, url фильтра становятся еще менее красивыми, чем были раньше, так что я поднапрягся и реализовал во-вторых — псевдонимы фильтров.
Теперь вы можете указать вызову сниппета новый параметр &aliases:
&aliases=`
ms|price==price,
resource|parent==parent,
`
&filters=`
ms|price:number,
parent:parents,
parent:categories,
`
&tplFilter.outer.price=`tpl.mFilter2.filter.slider`
&tplFilter.row.price=`tpl.mFilter2.filter.number`
В результате, url будут вот такие:
site.com/mfilter2?price=102,750&parent=10,12,15
Обратите внимание, что указание псевдонимов влияет и на указание параметров шаблонов. То есть, если для ms|price указан псевдоним, то и чанк нужно указывать как &tplFilter.row.price, а не &tplFilter.row.ms|price.
Чтобы это работало, вам нужно обновить старые чанки или заменить у них самостоятельно
name="[[+table]][[+delimeter]][[+filter]]"на
name="[[+filter_key]]"
Рабочий пример уже здесь — modx.pro/search?parent=21&year=2013&query=Тест&sort=date:desc. Если &aliases пуст, то всё работает как и раньше.
Еще добавлены фильтры month и day. Также в фильтрации дат исправлено несколько ошибок и немного оптимизирована работа предсказаний результатов.
Заключение
Новая версия уже доступна для обновления. Если вы еще не купили лучший компонент для поиска и фильтрации в MODX — самое время это сделать.
Документацию и параметры сниппетов обновил.
Комментарии: 9
Спасибо огромное!
Очень приятные обновления, прямо праздник! Давно сталкивался со всеми вышеописанными проблемами. Дождался. =)
Очень приятные обновления, прямо праздник! Давно сталкивался со всеми вышеописанными проблемами. Дождался. =)
И очень важное магическое обновление
- [mFilter2] Improved suggestions for more optimal processing.
Подскажите, как уменьшить таблицу синонимов? возможно применение фильтров подобным тут habrahabr.ru/post/114947/?
В официальной документации про
А так вообще спасибо за обновку =)
name="[[+filter_key]]"
ни слова.А так вообще спасибо за обновку =)
Василий, если не ошибаюсь в pdoPage теперь поддерживает 2-е пагинации на странице
есть какой-то способ 2-е пагинации на странице для mSearch2?
есть какой-то способ 2-е пагинации на странице для mSearch2?
спасибо Вася!
А как указать алиасы для мультполей?
Пробую вот так:
Пробую вот так:
{$_modx->runSnippet('!mFilter2', [
'parents' => 4,
'filters' => '
publishedon:year,
publishedon:month
',
'aliases' => '
resource|publishedon-year==year,
resource|publishedon-month==month
'
])}
Но не выходит… Хотелось бы также как в поиске на modx.pro
А у меня почему-то параметр &aliases вообще не хочет работать. То есть на кривом и глючном сайте у меня всё работало а когда я решил перенести всё на свежую установку псевдонимы ни в какую не хотят работать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.