Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2016-01-10 14:52:28

Michail
Участник
Зарегистрирован: 2011-10-25
Сообщений: 23
Рейтинг :   

Вывод новостей за определённую дату.

Как вывести блок новостей за определённую дату.
N - дата сегодня;
Х - дней смещение от сегодня.
Нужно выводить новости за дату N-X.

Не в сети

#2 2016-01-10 15:00:11

irbees2008
Продвинутый чайник ;)
Откуда Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2,873
Рейтинг :   121 
Сайт

Re: Вывод новостей за определённую дату.

Michail пишет:

Как вывести блок новостей за определённую дату.
N - дата сегодня;
Х - дней смещение от сегодня.
Нужно выводить новости за дату N-X.

http://ngcmshak.ru/nastroika-plaginov/plagin-xnews.html
. maxAge    - Новости на последние N дней

Изменено irbees2008 (2016-01-10 15:00:31)

Не в сети

#3 2016-01-10 16:07:47

Michail
Участник
Зарегистрирован: 2011-10-25
Сообщений: 23
Рейтинг :   

Re: Вывод новостей за определённую дату.

Не за последние N дней. А за один конкретный день, который был N дней назад.
Как, если бы было minAge - новости не моложе N дней. Можно было бы указывать, например: maxAge = 4, minAge = 4.

Изменено Michail (2016-01-10 16:30:25)

Не в сети

#4 2016-01-10 17:33:39

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

Re: Вывод новостей за определённую дату.

Michail пишет:

Не за последние N дней. А за один конкретный день, который был N дней назад.
Как, если бы было minAge - новости не моложе N дней. Можно было бы указывать, например: maxAge = 4, minAge = 4.

Только если дописывать плагин xnews.

1) https://github.com/vponomarev/ngcms-plu … ws.php#L49
Найти 'maxAge', добавить в array 'minAge'
2) https://github.com/vponomarev/ngcms-plu … s.php#L190
Добавить ниже:

$showMinAge	= ($params['minAge'] > 0)  ? intval($params['minAge'])  : 0;

3) https://github.com/vponomarev/ngcms-plu … s.php#L194
Добавить ниже:

$cacheKeys []= '|minAge='.$showMinAge;

4) https://github.com/vponomarev/ngcms-plu … #L200-L202
Добавить ниже:

	if ($showMinAge > 0) {
		$filterList []= '((unix_timestamp(now()) - postdate) > '.($showMinAge * 86400).')';
	}

Не в сети

#5 2016-01-11 12:01:52

Michail
Участник
Зарегистрирован: 2011-10-25
Сообщений: 23
Рейтинг :   

Re: Вывод новостей за определённую дату.

Спасибо. То, что надо.

Не в сети

#6 2016-01-18 14:55:44

Michail
Участник
Зарегистрирован: 2011-10-25
Сообщений: 23
Рейтинг :   

Re: Вывод новостей за определённую дату.

Всё работает. Вот только захватывает соседние дни. Т.к. отмеряет ровно Х суток. Хотелось бы, чтоб Х суток заканчивалось на смене суток в 00:00.
Может есть какая-нибудь функция DIV (деление без остатка):

if ($showMinAge > 0) {
        $filterList []= '(DIV((unix_timestamp(now()) - postdate)/86400) > '.$showMinAge.')';
    }

Изменено Michail (2016-01-18 14:57:37)

Не в сети

#7 2016-01-18 18:23:46

legenda
Участник
Откуда ua
Зарегистрирован: 2009-12-22
Сообщений: 2,160
Рейтинг :   39 

Re: Вывод новостей за определённую дату.

интересно

Не в сети

#8 2016-01-18 21:33:03

Zemlemer
Участник
Откуда Украина
Зарегистрирован: 2012-07-27
Сообщений: 271
Рейтинг :   25 
Сайт

Re: Вывод новостей за определённую дату.

Michail пишет:

Может есть какая-нибудь функция DIV

попробуйте один из вариантов:
http://php.net/manual/ru/function.intval.php
http://php.net/manual/ru/function.floor.php

Изменено Zemlemer (2016-01-18 21:33:26)

Не в сети

Подвал раздела

Работает на FluxBB