Выборка 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]]%'»}) `
]]
    
    
                                                                                
            [[!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]]%'»}) `
]]
Комментарии: 12
                Решил проблему двумя вкладками:
Демонстрация: тут можно посмотреть в работе
1) Предстоящие мероприятия
                    Демонстрация: тут можно посмотреть в работе
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]]"}`
]]            
                Демонстрация русской версии пока не работает, посмотреть эстонскую можно тут fortius.ee/kava            
                    
                Блин в логе пишет:
....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]]% не срабатывает??
                    ....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]]% не срабатывает??
                Блин… в третий раз, но уже без ошибок)) Правильная версия:
Предстоящие:
                    Предстоящие:
[[!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`]]            
                а сниппет [[!today]] как формируете?            
                    
                <?php
return date('Y-m-d');
                    return date('Y-m-d');
                program-start — в каком формате хранится в БД?            
                    
                Y-m-d и время
Дата выставляется из бэкенда с tv input date
                    Дата выставляется из бэкенда с tv input date
                Ну, вот такое, к примеру, 14-04-2014 > 28-03-2014 отрабатывает корректно?
Как выведет сортировку?
                    Как выведет сортировку?
                &where=`[«program-start BETWEEN \»2014-04-14\" AND \«2014-03-28\»"]`
* кавычки ток правильно нужно поставить как в примере снизу
используй лучше стандартный формат даты в modx, подбей чтобы из фронтенда дата выставлялась в формате Y-m-d, тогда из бэкенда можно будет без проблем менять
                    * кавычки ток правильно нужно поставить как в примере снизу
используй лучше стандартный формат даты в modx, подбей чтобы из фронтенда дата выставлялась в формате Y-m-d, тогда из бэкенда можно будет без проблем менять
                Да нет, я сохраняю через strtotime, чтобы в БД ложилось в timestamp:
                    $date_home = strtotime($_POST['datepicker_date_home']);После чего никаких проблем:&sortby=`{"date_home":"asc"}`            
                Попросили сделать архив не фильтром, а отдельной страницей для каждого года, вот пример выборки мероприятий за 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`
]]            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.