Как в 1.10.6 вывести дату публикации в статье в формате iso 8601?

#1 26 декабря 2015 в 13:32
Подскажите, пожалуйста, как в 1.10.6 вывести дату публикации в формате iso 8601
Для начала, — в статье и списке статей.
Спасибо!
#2 26 декабря 2015 в 13:40
Надо добавлять в движок обработку.
#3 26 декабря 2015 в 13:46

Надо добавлять в движок обработку.

letsgo
Спасибо, внятно zlo
#4 26 декабря 2015 в 13:49
Для статьи с id==$id_content

  1. $pubdate = $inDB->get_field('cms_content', "id = {$id_content}", 'pubdate');
  2. $pub_mktime = strtotime($pubdate);
$pubdate будет в формате Y-m-d H:i:s
$pub_mktime — целая метка времени (можно сравнивать больше-меньше, т.е. раньше-позже) с текущей меткой времени
#5 26 декабря 2015 в 13:56

дату публикации в формате iso 8601

Олег Васильевич я

списке статей

Олег Васильевич я

Открываете /components/content/model.php
ищите getArticlesList
после
  1. while($article = $this->inDB->fetch_assoc($result)){
вставляете
  1. $article['iso_pubdate'] = date('c', strtotime($article['pubdate']));
потом в шаблоне используете {$article.iso_pubdate}
#6 26 декабря 2015 в 14:01
А другие типы контента? Блоги, Обьявления, Форум, Фото итд.

Открываете /components/content/model.php
ищите getArticlesList

Fuze

Не сработало.
#7 26 декабря 2015 в 14:18
Используем модификатор — date_format:'%Y-%m-%d'
Например:
  1. {$article.fpubdate|date_format:'%Y-%m-%d'}
#8 26 декабря 2015 в 14:25

Например:
Код PHP:
{$article.fpubdate|date_format:'%Y-%m-%d'}

Pasha

И все статьи всегда показываются что опубликованы сегодня.
#9 26 декабря 2015 в 14:38
Упс, это последствия копипасте, конечно же нужно использовать не fpubdate, а pubdate. Сорри
А еще лучше, что бы не городить лишнего, сделать так — {date('c', strtotime($article.pubdate))}
#10 26 декабря 2015 в 14:56

А еще лучше, что бы не городить лишнего, сделать так — {date('c', strtotime($article.pubdate))}

Pasha

Просто так сделать, либо с учетом вышеуказанных правок?
#11 26 декабря 2015 в 15:08
В данном случае никаких правок не нужно, просто открыть шаблон и в необходимом месте прописать {date('c', strtotime($article.pubdate))}. Это список статей. При чтении самой статьи этот вариант уже не прокатит, но что бы не выходить за рамки шаблона можно и поизвращаться… В общем нужно экспериментировать, входных данных для этого предостаточно.
#12 26 декабря 2015 в 15:12
Fuze, в списке статей работает, а в самой статье, — нет
Пришлось ещё во фронтенде изменить тем же способом $pubdate:
после:
  1. $pubdate = $inDB->get_field('cms_content', "id = {$id_content}", 'pubdate');
вставил те же:
  1. $article['iso_pubdate'] = date('c', strtotime($article['pubdate']));
вывод в шаблоне тот же
------------------------------------------------------------------------------------
Вариант Странника тоже рабочий
#13 26 декабря 2015 в 15:16

но что бы не выходить за рамки шаблона можно и поизвращаться..

Pasha
Именно так и хотелось изначально
#14 26 декабря 2015 в 15:34

При чтении самой статьи этот вариант уже не прокатит,

Pasha
Жаль, таки не катит.
#15 26 декабря 2015 в 16:03
Не выходя за рамки шаблона можно использовать smarty форматирование за исключением просмотра статьи и вроде УК. так как там в коде переписываются данные для pubdate можно конечно исправить это в коде компонентов сделать как и везде форматирования дата передается в шаблон в переменной fpubdate а чистая дата в pubdate
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.