Смена формата даты в модуле "Новые статьи" для InstantCMS 1.10.3-1.10.5

+15
1.9K
Приветствую, сообщество.

Иллюстрация

На написание поста натолкнул Петрмаг своим ответом в этой теме.
Сейчас хотелось бы описать один из способов, с помощью которого можно сделать нужный формат даты в модуле "Новые статьи". Описанное далее подойдёт для 1.10.3-1.10.5, для более ранних версий не проверялось.
Предположим, мы хотим выводить дату в формате 28.11.2014 01:53:22, то есть: день, месяц, год, часы, минуты, секунды. От этого примера отталкиваться легче всего.

Откроем в удобном редакторе файл mod_latest.tpl, находящийся в каталоге site.ru/templates/шаблон/modules.
Найдём переменную {$article.fpubdate} и сменим её вид на
  1. {$article.pubdate|date_format:"%d.%m.%Y %H:%M:%S"}
.
Где:
%d — день месяца в десятичном формате,
%m — номер месяца,
%Y — год в виде десятичного числа включая век,
%H — часы по 24-часовым часам,
%M — минуты,
%S — секунды.
Можно также использовать следующие указатели:
%y — год в виде десятичного числа без века,
%A — полное название дня недели,
%B — полное название месяца.
(Полный список можно посмотреть по ссылке).

Усложним задачу. Предположим, мы хотим выводить дату следующим образом: Пятница, 28 февраля, 13:56. Если укажем date_format:"%A, %d %B, %H:%M", то получим, скорее всего, результат: Friday, 28 November, 13:56. Это связано с локалю, но разобраться самостоятельно мне не удалось, потому предлагаю обратиться здесь к функции замены в smarty.
Весь формат даты будет выглядеть следующим образом:

  1. {$article.pubdate|date_format:"%A, %d %B, %H:%M"|replace:"Monday":"Понедельник"|replace:"Tuesday":"Вторник"|replace:"Wednesday":"Среда"|replace:"Thursday":"Четверг"|replace:"Friday":"Пятница"|replace:"Saturday":"Суббота"|replace:"Sunday":"Воскресенье"|replace:"January":"января"|replace:"February"|replace:"февраля"|replace:"March":"марта"|replace:"April":"апреля"|replace:"May":"мая"|replace:"June":"июня"|replace:"July":"июля"|replace:"August":"августа"|replace:"September":"сентября"|replace:"October":"октября"|replace:"November":"ноября"|replace:"December":"декабря"}
.

Наверняка есть ещё много других альтернативных способов. Буду премного благодарен, если специалисты поделятся ими в комментариях.

Спасибо за внимание.
0
reload reload 10 лет назад #
для феншуя,
|replace:"Monday":"Понедельник"|rep.......
правильней перенести в плагины smarty)
в \includes\smarty\libs\plugins\modifier.name.php

Еще от автора

Портальный шаблон MTheme для InstantCMS 2.6.1 - глобальное обновление
Здравствуйте, дорогие пользователи InstantCMS. Рад предоставить вашему вниманию обновленный шаблон MTheme для InstantCMS 2.6.1.
Виджет "Список групп" для InstantCMS 2.5.1
Обычный виджет вывода списка групп. О нём забыли в коробке Внешний вид. Настройки: Демо | Скачать Установка стандартная.
Портальный шаблон MTheme
Здравствуйте, сообщество. Представляю Вам шаблон MTheme, разработанный для порталов на основе InstantCMS 2.5.1.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.