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

1152
Приветствую, сообщество.



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

Откроем в удобном редакторе файл mod_latest.tpl, находящийся в каталоге site.ru/templates/шаблон/modules.
Найдём переменную {$article.fpubdate} и сменим её вид на
Код SMARTY:
  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.
Весь формат даты будет выглядеть следующим образом:

Код 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":"декабря"}
.

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

Спасибо за внимание.
Портальный шаблон Anima Utheme [InstantCMS 1.10.4] | Модуль Anima News Slider - ротатор последних новостей [InstantCMS 1.10.3-1.10.5]
Комментарии (1)
reload 29 ноября 2014 в 03:56 0
для феншуя,
|replace:"Monday":"Понедельник"|rep.......
правильней перенести в плагины smarty)
в \includes\smarty\libs\plugins\modifier.name.php