Сравнить дату сознания поста в блоге с текущей

 
Посетитель
no avatar
Сообщений: 15
Lora:

Файл module.php
Код PHP:
  1. foreach($posts as $val){$data = $val['pubdate'];
  2. $a=floor((time() - strtotime($data))/60/60/24);
  3. echo $a; //Здесь ваша разница в днях. Дальше делайте с ней, что хотите.
  4. }

Даты вычитает верно, но в TPL передаётся только последнее значение...
Спойлер
Ris, месяца на русском важны.

А можно ли вместо foreach проверить только первое (самую свежую дату)?
Редактировалось: 2 раз (Последний: 21 октября 2016 в 11:14)
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1694
Ну тогда как то так.
module.php
Код PHP:
  1. foreach($posts as $key=> $val){$data = $val['pubdate'];
  2. $a[$key]=floor((time() - strtotime($data))/60/60/24);
  3. }
В шаблоне
Код PHP:
  1. {$a[$tid]}
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3284
mymiit, Lora,
Коллеги, я тут случайно выяснил, что мы занимаемся фигнёй.
Неформатированная дата тоже присутствует в массиве $post. Поэтому достаточно будет написать так:

Код PHP:
  1. {if {$post.pubdate}>{($smarty.now-345600)|date_format:"%Y-%m-%d %H:%M:%S"}}
  2. <div class="mod_latest_entry new">
  3. ...
  4. {else}
  5. <div class="mod_latest_entry old">
  6. ...
  7.  
  8. {/if}
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1694
Ris, все операции по вычислениям по возможности следует проводить на сервере,тем более с php ф-циями, а в шаблон передавать результат.На то он и шаблон.А то, что в массиве присутствуют обе даты было понятно изначально. И предложено ТС-у ещё тремя постами выше. laugh
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3284
Lora:
все операции по вычислениям по возможности следует проводить на сервере

А шаблон где? Неужели с сервера упал?
По моему, чем меньше букаф, тем лучше.
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1694
Ris:
А шаблон где? Неужели с сервера упал?
Неее, с дуба рухнул. rofl
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3284
Lora,
Так вот, по моему шаблон можно курочить, а модуль пыхапе - системный файл, его лучше не трогать.
У каждого свое православие...
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1694
Ris, в данном случае религия не причём.Бизнес-логика должна быть отделённой от логики-представления.Для этого и придумали программу, называемую шаблонизатор.В нашем случае Smarty.И нужно уметь разделять эти логики, что бы они не перемешивались.Это основы веб-програмирования. В частности это одна из причин по которой убрали с последней версии смарти тег {php}. Конечно, полностью их не разделить, по большому счёту это зависимые друг от друга понятия, и здесь главное не переборщить.Вот такая Вам религия.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3284
mymiit,
Какого пыхапэ?
Это смарти. Шаблонизатор.
Я проверил то, что написал. Это работает.
Приведите код, который Вы написали. Только под спойлер длинные простыни убирайте, пожалуйста.
Посетитель
no avatar
Сообщений: 15
Lora:

Ну тогда как то так.
module.php
Код PHP:
  1. foreach($posts as $key=> $val){$data = $val['pubdate'];
  2. $a[$key]=floor((time() - strtotime($data))/60/60/24);
  3. }
В шаблоне
Код PHP:
  1. {$a[$tid]}

Спасибо, Lora!
Посетитель
no avatar
Сообщений: 15
Ris:

mymiit,
Какого пыхапэ?
Это смарти. Шаблонизатор.
Я проверил то, что написал. Это работает.
Приведите код, который Вы написали. Только под спойлер длинные простыни убирайте, пожалуйста.

Код PHP:
  1. {if {$post.pubdate}>{($smarty.now-345600)|date_format:"%Y-%m-%d %H:%M:%S"}}
Вот прям это и вставил в шаблон. Очистил КЭШ в админке и открыл главную - не открылась. Ошибка...
Редактировалось: 1 раз (Последний: 21 октября 2016 в 11:17)
Посетитель
no avatar
Сообщений: 15
Всем спасибо! v
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Страницы: Первая Предыдущая 1 2