Помогите разделить вывод мероприятий по дате Новый

Дополнение: pdoRecources

Добрый день, не получается нормально разделить мероприятия на «ближайшие» и «прошедшие» дата вводится через TV параметр, пытался сделать через снипет ImmediateEvents:
<?php
$tvid = 10; // id ТВ с датой
$date = date("Y-m-j" ." ". "H:m:s"); // Сегодня

$q = $modx->newQuery('modResource');
$q->leftJoin('modTemplateVarResource', 'TV', 'modResource.id = TV.contentid AND TV.tmplvarid = '.$tvid);
$q->select('modResource.id');
$q->where('DATE(TV.value) >= "'.$date.'"');

if ($q->prepare() && $q->stmt->execute()) {
	$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
	return implode(',', $ids);
}
этот код сверяет даты и выводит id мероприятий, в дальнейшем я использую:

[[pdoResources?
		&tpl=`ImmediateEvents`
		&includeTVs=`1`
		&includeContent=`1`
		&includeTVs=`EventImage, EventDate`
		&processTVs=`1`
		&resources=`[[ImmediateEvents]]`
		&limit=`4444`
		]]
Проблема в том, что если нету мероприятий с датой позже сегодняшней, выводятся сразу все мероприятия (прошлые), пробовал делать выборку через tvfilters и where, вообще ничего не вышло. Как вывести правильно? И возможно ли сделать появление сообщения, нечто вроде «Ближайших мероприятий нет»?
Ссылка на сайт для наглядности: честный-выбор.рф/meropriyatiya/
06 сентября 2016, 22:54    Вячеслав Евгеньевич…   
0    234 0

Комментарии (5)

  1. Вячеслав Евгеньевич Яшников 07 сентября 2016, 08:07 # 0
    снипет now:
    <?php
    echo date("Y-m-j" ." ". "H:m:s");
    это в шаблоне:
    [[pdoResources?
    		&parents=`8`
    		&tpl=`ImmediateEvent`
    		&includeTVs=`1`
    		&includeContent=`1`
    		&includeTVs=`EventImage, EventDate`
    		&processTVs=`1`
    		&tvFilters=`EventDate>>[[!now]]`
    		&limit=`4444`
    		]]
    не выводится вообще ничего:(

    Log:

    0.0002301: pdoTools loaded
    0.0000410: xPDO query object created
    0.0000560: Added TVs filters
    0.0004961: Included list of tvs: EventDate, EventImage
    0.0004060: leftJoined modTemplateVarResource as TVeventdate
    0.0003622: leftJoined modTemplateVarResource as TVeventimage
    0.0007551: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
    0.0000181: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.EventDate`
    0.0000150: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.EventImage`
    0.0000730: Replaced TV conditions
    0.0006220: Processed additional conditions
    0.0011730: Added where condition: 0=`TVeventdate`.`value` > '2016-09-7 08:09:27', modResource.parent:IN(8,9,17,18,19), modResource.published=1, modResource.deleted=0
    0.0000448: Replaced TV conditions
    0.0001941: Sorted by modResource.publishedon, DESC
    0.0000060: Limited to 4444, offset 0
    0.0003991: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVeventdate`.`value`, '') AS `tv.EventDate`, IFNULL(`TVeventimage`.`value`, '') AS `tv.EventImage` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventdate` ON `TVeventdate`.`contentid` = `modResource`.`id` AND `TVeventdate`.`tmplvarid` = 10 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventimage` ON `TVeventimage`.`contentid` = `modResource`.`id` AND `TVeventimage`.`tmplvarid` = 8 WHERE  ( `TVeventdate`.`value` > '2016-09-7 08:09:27' AND `modResource`.`parent` IN (8,9,17,18,19) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 4444 "
    0.0010450: SQL executed
    0.0000930: Total rows: 0
    0.0000150: Rows fetched
    0.0000219: Prepared and processed TVs
    0.0000010: Returning processed chunks
    0.0055571: Total time
    7 602 176: Memory usage
    1. Сергей Шлоков 07 сентября 2016, 08:28 # 0
      [[!pdoResources?
      	&tpl=`ImmediateEvents`
      	&includeTVs=`1`
      	&includeContent=`1`
      	&includeTVs=`EventImage, EventDate`
      	&processTVs=`1`
      	&limit=`4444`
      	&where=`["TVEventDate.value >= NOW()"]`
      	&showLog=`1`
      ]]
      
      Вызывать обязательно некэшированным.
      1. 0.0002420: pdoTools loaded
        0.0002859: xPDO query object created
        0.0012629: Included list of tvs: EventDate, EventImage
        0.0004771: leftJoined modTemplateVarResource as TVeventdate
        0.0004280: leftJoined modTemplateVarResource as TVeventimage
        0.0006812: Added selection of modResource: SQL_CALC_FOUND_ROWS `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
        0.0000188: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.EventDate`
        0.0000150: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.EventImage`
        0.0000629: Replaced TV conditions
        0.0007839: Processed additional conditions
        0.0015960: Added where condition: 0=TVEventDate.value >= NOW(), modResource.parent:IN(8,9,17,18,19), modResource.published=1, modResource.deleted=0
        0.0000360: Replaced TV conditions
        0.0002081: Sorted by modResource.publishedon, DESC
        0.0000081: Limited to 4444, offset 0
        0.0010068: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, IFNULL(`TVeventdate`.`value`, '') AS `tv.EventDate`, IFNULL(`TVeventimage`.`value`, '') AS `tv.EventImage` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventdate` ON `TVeventdate`.`contentid` = `modResource`.`id` AND `TVeventdate`.`tmplvarid` = 10 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventimage` ON `TVeventimage`.`contentid` = `modResource`.`id` AND `TVeventimage`.`tmplvarid` = 8 WHERE  ( TVEventDate.value >= NOW() AND `modResource`.`parent` IN (8,9,17,18,19) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 4444 "
        0.0007062: Could not process query, error #1054: Unknown column 'TVEventDate.value' in 'where clause'
        0.0071490: Total time
        6 553 600: Memory usage
        1. Сергей Шлоков 07 сентября 2016, 08:45 # +1
          А так
          ...
          &where=`["TVeventdate.value >= NOW()"]`
          
          или так
          ...
          &where=`["EventDate >= NOW()"]`
          
          1. &where=`[«EventDate >= NOW()»]` работает! Спасибо!
      Вы должны авторизоваться, чтобы оставлять комментарии.