mFilter2 Вывод результатов на отдельной странице

Добрый день!
Собираюсь приобрести mSearch2.
Из этого дополнения мне нужен только mFilter2, но у меня есть задача, чтобы результаты работы фильтра выводились на отдельной странице. Здесь, вероятно, нужно повесить событие на кнопку и запускать сам фильтр только по нажатию этой кнопки. Я еще немного чайник, поэтому если ткнете носом в строку кода, буду весьма благодабря!

От самого фильтра я в восторге, примеры впечатляют, да и minishop2 для меня более чем достаточен.

Возможно ли это?
Подскажите, как это можно реализовать в minishop2… может быть использовать сторонние дополнения?
Николай
14 октября 2015, 07:27
modx.pro
4
3 125
+1

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

Григорий Коленько
15 октября 2015, 15:34
0
Я делал, так, что при нажатии на кнопку копируется строка юрл, оттуда вырезается гет запрос, а потом происходит с тем же гет запросом переходя на другую страницу, где вызван мфилтр. Мб есть вариант более красивый, но не залезая в исходники другого не придумал
    Николай
    20 октября 2015, 14:18
    0
    Григорий, не могли бы вы показать сам код? (я пока еще чайник и сходу сделать не получилось)
    Можно в личку.

    Заранее огромное благодабря
      Григорий Коленько
      20 октября 2015, 15:14
      2
      +1
      К кнопке класс добавить .no-ajax
      var getUrlGetString = function () {
              return decodeURIComponent(window.location.search.substring(1))
      
          }
          var getUrlParameter = function getUrlParameter(sParam) {
              var sPageURL = decodeURIComponent(window.location.search.substring(1)),
                  sURLVariables = sPageURL.split('&'),
                  sParameterName,
                  i;
      
              for (i = 0; i < sURLVariables.length; i++) {
                  sParameterName = sURLVariables[i].split('=');
      
                  if (sParameterName[0] === sParam) {
                      return sParameterName[1] === undefined ? true : sParameterName[1];
                  }
              }
          };
          $(".no-ajax").on("click", function (e) {
              if ($.preventDefaultEvent(e)) return;
              var form = $(this).parents('form:first');
              var url = $(form).prop("action");
              window.location.replace(url + "?" + getUrlGetString());
          });

        Григорий Коленько
        20 октября 2015, 15:14
        1
        +1
        Ссылка на action формы — ссылка на страницу куда переводить
        Hiiragi
        12 июля 2017, 16:14
        1
        0
        У кого не работает код, удалите строчку
        if ($.preventDefaultEvent(e)) return;
          Андрей
          12 июля 2017, 16:44
          +1
          Ещё можно использовать параметр:
          &filterOptions=`{"autoLoad":0}`
          Тогда в форме по умолчанию появится кнопка «Отправить» и нужно будет нажимать на неё. Соответственно в action формы поставить адрес страницы для результатов.
            Александр
            19 июля 2017, 15:23
            0
            Но при этом не работает показ предварительных результатов.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    8