Выборка pdoPage where по дате

Добрый день. В тикете можно указать дату мероприятия через бекенд, вот выборка, которая показывает сегодняшние мероприятия:
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortby=`program-start` &sortbyTV=`program-start` &sortdirTV=`ASC` &sortby=``
&where=`{«program-start:LIKE»:"%[[!today]]%"}`
]] — тут всё ок

Как сделать, чтобы была выборка по сегодняшним и предстоящим?
Пробовал:
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortby=`program-start` &sortbyTV=`program-start` &sortdirTV=`ASC` &sortby=``
&where=`({«program-start:LIKE»:"%[[!today]]%"}) AND ({«program-start RLIKE '[[:>:]]%[[!today]]%'»}) `
]]
Andrei D.
15 апреля 2014, 09:09
modx.pro
6
5 319
0

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

Andrei D.
15 апреля 2014, 17:58
0
Решил проблему двумя вкладками:
Демонстрация: тут можно посмотреть в работе

1) Предстоящие мероприятия
[[!pdoPage?
&element=`getTickets`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortbyTV=`program-start` &sortdirTV=`ASC`
&where=`{"program-start:>=":"[[!today]]"}`
]]
2) Прошедшие мероприятия
[[!pdoPage?
&element=`getTickets`
&parents=`38`
&includeTVs=`program-start`
&tpl=`program-list-ru`
&sortbyTV=`program-start` &sortdirTV=`DESC`
&where=`{"program-start:<=":"[[!today]]"}`
]]
    Andrei D.
    16 апреля 2014, 16:19
    0
    Демонстрация русской версии пока не работает, посмотреть эстонскую можно тут fortius.ee/kava
    Andrei D.
    16 апреля 2014, 17:36
    0
    Блин в логе пишет:

    ....core/components/pdotools/model/pdotools/pdofetch.class.php: 399) PHP warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object

    Кто-нибудь хелп :) Первый раз пытаюсь юзать pdo и сразу фейлы на ровном месте)
    Т.е. получается, что второй аргумент [[!today]] (?) — должен быть объектом или массивом? А почему тогда %[[!today]]% не срабатывает??
      Andrei D.
      17 апреля 2014, 02:43
      1
      0
      Блин… в третий раз, но уже без ошибок)) Правильная версия:

      Предстоящие:
      [[!pdoPage?
      &element=`getTickets`
      &parents=`38`
      &includeTVs=`program-start`
      &tpl=`program-list-ru`
      &where=`["program-start > \"[[!today]]\""]`
      &sortby=`program-start` &sortdir=`ASC`
      ]]
      Прошедшие:
      [[!pdoPage?
      &element=`getTickets`
      &parents=`38`
      &includeTVs=`program-start`
      &tpl=`program-list-ru`
      &where=`["program-start < \"[[!today]]\""]`
      &sortby=`program-start` &sortdir=`DESC`
      ]]
        Андрей Сухомозгий
        19 апреля 2014, 09:38
        0
        а сниппет [[!today]] как формируете?
          Andrei D.
          21 апреля 2014, 22:46
          0
          <?php
          return date('Y-m-d');
            Андрей Иванов
            23 апреля 2014, 16:46
            0
            program-start — в каком формате хранится в БД?
              Andrei D.
              23 апреля 2014, 19:47
              0
              Y-m-d и время
              Дата выставляется из бэкенда с tv input date
                Андрей Иванов
                23 апреля 2014, 20:11
                0
                Ну, вот такое, к примеру, 14-04-2014 > 28-03-2014 отрабатывает корректно?
                Как выведет сортировку?
                  Andrei D.
                  23 апреля 2014, 20:15
                  0
                  &where=`[«program-start BETWEEN \»2014-04-14\" AND \«2014-03-28\»"]`
                  * кавычки ток правильно нужно поставить как в примере снизу

                  используй лучше стандартный формат даты в modx, подбей чтобы из фронтенда дата выставлялась в формате Y-m-d, тогда из бэкенда можно будет без проблем менять
                    Андрей Иванов
                    23 апреля 2014, 20:21
                    0
                    Да нет, я сохраняю через strtotime, чтобы в БД ложилось в timestamp:
                    $date_home = strtotime($_POST['datepicker_date_home']);
                    После чего никаких проблем:
                    &sortby=`{"date_home":"asc"}`
          Andrei D.
          23 апреля 2014, 19:52
          2
          0
          Попросили сделать архив не фильтром, а отдельной страницей для каждого года, вот пример выборки мероприятий за 2010 год:

          [[!pdoPage?
          &element=`getTickets`
          &parents=`38`
          &includeTVs=`program-start`
          &tpl=`program-list-ru`
          &where=`["program-start BETWEEN \"2010-01-01\" AND \"2010-12-31\""]`
          &sortby=`program-start` &sortdir=`DESC`
          ]]
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            12