Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

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

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

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

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

Вне форума

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

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

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

Michail пишет:

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

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

Отредактировано irbees2008 (2016-01-10 14:00:31)

Вне форума

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

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

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

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

Отредактировано Michail (2016-01-10 15:30:25)

Вне форума

#4 2016-01-10 16: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 11:01:52

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

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

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

Вне форума

#6 2016-01-18 13: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 13:57:37)

Вне форума

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

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

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

интересно

Вне форума

#8 2016-01-18 20: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 20:33:26)

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.038 сек, 9 запросов выполнено - Использовано памяти: 539.9 Кбайт (Пик: 560.9 Кбайт) ]