mFilter2 фильтрация посредством Datepicker jquery

4
Нужно написать особый чанк фильтру на основе Datepacker Jquery UI и прописать javascript для его работы, который будет фильтровать ресурсы по дате.

Ссылка на datepicker: jqueryui.com/datepicker/#inline

P.S. Изначально это было объявлением о работе, но потом опубликовали решение в комментариях и топик переехал в этот раздел.
Роман Ильин
18 апреля 2014, 12:41
modx.pro
5
2 408
0

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

Andrey Grachov
18 апреля 2014, 17:57
+2
Пример, данные для доступа s5609 / uw38P73G1axL
    Роман Ильин
    19 апреля 2014, 00:29
    0
    Это то, что мне нужно! Спасибо! Сколько вы желаете за свою работу?
      Andrey Grachov
      19 апреля 2014, 12:06
      1
      +2
      Это была дружеская помощь, если будет что-то серьезное — обращайтесь :)
      Пример оставим для истории, для тех кто придет, а ссылка уже не работает:
      // Вызов mFilter2
      [[!mFilter2? &parents=`[[*id]]` &filters=`resource|publishedon:date` &tplFilter.row.resource|publishedon=`tpl.mFilter2.filter.date`]]
      
      // Чанк tpl.mFilter2.filter.date
      [[+idx:is=`0`:then=`
          <input type="hidden" name="[[+table]][[+delimeter]][[+filter]]" id="mse2_[[+table]]_[[+filter]]_[[+idx]]" value=""/>
          <div id="mse2_[[+table]]_[[+filter]]_[[+idx]]_datepicker"></div>
          <script type="text/javascript">
              $(function () {
                  $('#mse2_[[+table]]_[[+filter]]_[[+idx]]_datepicker').datepicker({
                      altField: '#mse2_[[+table]]_[[+filter]]_[[+idx]]',
                      dateFormat: 'yy-mm-dd'
                  });
              });
          </script>
      `:else=``]]
        Роман Ильин
        19 апреля 2014, 12:22
        0
        Еще раз большое спасибо. Оставьте почту или скайп для контакта? Буду иметь вас ввиду.
        И тем кто не догадается:

        //В head добавить CSS и скрипт для работы:
        <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"/>
        <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
          Andrey Grachov
          19 апреля 2014, 16:07
          0
          Почта andrey.grachov@yandex.ru
    bonzaznob
    bonzaznob
    02 сентября 2014, 07:21
    0
    Добрый день! У меня следующая задача нужно сделать фильтрацию по двум параметрам даты — т.е. есть тв поле с датой начала и поле с датой конца мероприятия. Вызов делаю так:
    [[!mFilter2?
    &paginator=`pdoPage`
    &limit=`[[*elements]]`
    &elements=`mSearch2`
    &parents=`[[*id]]`
    &includeContent=`1`
    &includeTVs=`priceFrom,priceDesc,image,eventDateFrom,eventDateTo`
    &sortby=`priceFrom`
    &sortdir=`ASC`
    &tpls=`EventsListItem`
    &filters=`
    tv|resort,
    tv|eventDateFrom:date,
    tv|eventDateTo:date,
    tv|priceFrom:number`
    &class=`modResource`
    &tplFilter.outer.tv|resort=`tpl.mfilter2.filter.resorts`
    &tplFilter.row.tv|resort=`tpl.mfilter2.filter.checkbox`
    &tplFilter.outer.tv|eventDateFrom=`tpl.mfilter2.filter.dateFromTo`
    &tplFilter.outer.tv|priceFrom=`tpl.mFilter2.filter.slider`
    &tplFilter.row.tv|priceFrom=`tpl.mFilter2.filter.number`
    ]]
    Шаблон tpl.mfilter2.filter.dateFromTo:
    <div id="mse2_[[+table]][[+delimeter]][[+filter]]" class="filter-box">
        <div class="title">
            <div class="icon"><img src="/template/img/filter-icon-date.png" alt="дата"/></div>
            <div class="text">Дата</div>
        </div>
        <div class="body money">
            <div class="mse2_number_inputs">
                <div class="col-mg-12 col-md-12 col-sm-12 col-xs-12">
                    <label for="mse2_tv|eventdatefrom_0">От</label>
                    <input type="text" name="tv|eventdatefrom" id="mse2_tv|eventdatefrom_0" value="[[+value]]"
                           class="form-control input-sm datepicker">
                </div>
                <div class="col-mg-12 col-md-12 col-sm-12 col-xs-12">
                    <label for="mse2_tv|eventdateto_0">До</label>
                    <input type="text" name="tv|eventdateto" id="mse2_tv|eventdateto_0" value="[[+value]]"
                           class="form-control input-sm datepicker">
                </div>
            </div>
        </div>
    </div>
    Не работает так как нужно ((, не знаю в каком направлении двигаться.

    Подскажите плизз!
      Nekto
      15 марта 2015, 17:50
      0
      Здравствуйте! Нашлось ли решение? Возникла такая же задача.
        Роман
        21 марта 2020, 01:12
        0
        Приветствую, как решили задачу? Если решили, прошло уже столько лет :))
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8