Все для создания и продвижения сайтов

Верстка, программирование, SEO

Выборка материалов по дате в XPDO MODX

количество просмотров 844
Выборка материалов по дате в XPDO MODX

Работая с XPDO в MODX Revo иногда возникает потребность вывести материалы по конкретной дате, но здесь есть некоторые нюансы, а именно проблема возникает из-за того, что в базе данных даты хранятся в нестандартном формате.

Рассмотрим скрипт, которые выведет все материалы за конкретный день.

<?php
$data = date('2015-12-10'); // В эту переменную мы заносим нужный день
$date_from = strtotime($data." 00:00:00");
$date_to = strtotime($data." 23:59:59");

$data_y = date('Y-m-d',(strtotime('-1 days', strtotime($data))));
$data_t = date('Y-m-d',(strtotime('+1 days', strtotime($data)))); 

$where = $modx->newQuery('modResource');
$where->limit(5); 
$where->where(array(
	'publishedon:>' => $date_from,
	'publishedon:<' => $date_to,
));
$resources = $modx->getCollection('modResource',$where);

$res .= '

Выбран день '.$data.'

'; foreach ($resources as $k) { $res .= '

'.$k->get('pagetitle').'

'; $res .= '

Дата: '.$k->get('publishedon').'

'; } print($res);

Если вам требуется вывести материалы не раньше конкретного дня, то закомментируем следующую строку:

	'publishedon:<' => $date_to,

К примеру, можно вывести все материалы, которые были опубликованы после «2015-12-10».

И аналогично, вывести даты не позднее конкретного числа, то комментируем эту строку.

	'publishedon:>' => $date_from,

В переменную $data можно передавать любые даты из полей MODX, к примеру, дату публикации или TV типа даты.

Последние статьи

Инструменты

Отблагодарить и поддержать автора
Если вы нашли ошибку, выделите её и нажмите Ctrl+Enter
Выделите опечатку и нажмите Ctrl + Enter, чтобы отправить сообщение об ошибке.