Связать mSearch2 и mFilter2

Здравствуйте.
Можно ли интегрировать mSerach2 непосредственно в фильтр? Т.е. что бы поиск и фильтр находились на одной странице (это я понимаю что можно) и всё это дело работало следующим образом:
1. Желательно чтобы результаты поиска выводились аяксом без перезагрузки страницы.
2. При нажатии кнопки «Сбросить» в фильтре также очищался и поисковый запрос (без перезагрузки страницы).
Очень хочется сделать именно так.
Игорь
11 августа 2023, 09:59
modx.pro
875
0

Комментарии: 10

Dan
Dan
13 августа 2023, 09:23
0
Просто добавляешь поле для поиска по вхождению в форму с фильтрами, пишешь для него свой метод фильтрации по примеру из доков.
Копируешь стандартный скрипт от msearch2 и дописываешь строки для работы с этим самым полем.
    Игорь
    13 августа 2023, 21:30
    0
    Спасибо.
    Но не сильно понятно, если често.
    1. Блок с формой поиска не получается внести в блок фильтров по верстке — фильтр в сайдбаре, а поиск на всю ширину экрана (( (может можно через какие-то data параметры его подвязать?)
    2. Как именно нужно изменить сниппет (или скрипт) mSearh2?
      Dan
      Dan
      14 августа 2023, 09:41
      0
      1) Ну тогда делайте поиск отдельно mSearchForm, как в примере на сайте minishop2.com. Либо можно закостылить так: добавляете просто текстосвое поле в сайдбар, а в форме фильтров скрытое стилями или hidden input. При вводе запроса в текстовое поле, дублируете запрос в скрытое поле с фильтрами и триггерете его изменение (событие change). Ну и конечно пишете свой метод фильтрации по мануалу из документации.
      2) Не сниппет, а js скрипт, чтобы очистка формы фильтров также и очищала форму и форму поиска и удаляла соответствующий get-параметр.
        Игорь
        14 августа 2023, 23:36
        0
        1) да, этот костыль я примерно понимаю как можно сделать — добавить в фильтр скрытое поле, которое дублирует основной поиск (в js не силён, но такое умею).
        2) этот пункт не понимаю… можно пример?
          Dan
          Dan
          15 августа 2023, 05:26
          0
          в первом комментарии прикрепил ссылку на пример из документации компонента
            Игорь
            17 августа 2023, 17:59
            0
            я так и не смог разобраться… в платной техподдержке ответили типа, что так сделать нельзя (зря только оплатили новую лицензию)… (((… грустно как-то стало с MODX работать после ухода Василия ((
              Dan
              Dan
              17 августа 2023, 19:29
              1
              0
              Нельзя сделать из коробки, поэтому вам так и ответили, ибо это все таки техподдержка, а не фриланс-биржа, а вообще сделать можно. Я сам такое делал и не на одном проекте. Нужно лишь написать свой метод фильтрации, и конкретно в этом случае ничего сложного. Попробуйте, он все равно ничего не сломает, либо будет работать, либо нет. А когда все таки получится сделать, то поймете, что в принципе несложно. Просто зайдите по ссылке, которую я в 1ом комменте скидывал и делайте все по примеру.
                Николай Савин
                17 августа 2023, 19:35
                0
                Василий вам решал любые ваши задачи по требованию?
                  Игорь
                  17 августа 2023, 20:17
                  0
                  я не сильно много обращался, но ответ всегда был конструктивным. Пару раз обращался — Василий действительно помог, он реально молодец (и всей душой за это дело переживал)…
                  Если есть компонент за 3+ рублей и есть пожелания — можно же подумать и доделать для всех остальных (это же реально нормальное пожелание — на том же Wordpress есть готовые плагины, где модуль поиска уже встроен в фильтр и работает именно так)…
                    Dan
                    Dan
                    18 августа 2023, 07:18
                    0
                    Вы себе напридумывали. Василий, как и остальные, писал по делу всегда. Если вы тупили, то он прямо на это и указывал. Пишите пожелания, может и сделают. Все таки он разрабатывается в свободное время ребятами, это же не их фултайм работа.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      10