Вывод дат в шаблонах Cotonti

1. Вывод дат в шаблонах

По умолчанию формат отображения дат и времени внутри Cotonti уже настроен. В большинстве случаев этого будет достаточно. Тем не менее, у вас есть возможность изменить формат вывода. Сделать это можно двумя способами:

  1. настроить формат вывода конкретного элемента в шаблоне;
  2. настроить (изменить) формат отображения глобально для всей системы.

Рассмотрим сначала первый вариант — вам необходимо изменить формат вывода даты в определенном [месте] шаблоне.

Как правило все метки даты-времени внутри системы храняться в формате UNIX-времени (по сути счетчик количества секунд прошедших с  1 января 1970 года). Это удобный для внутреннего хранения и сравнения формат, который позволяет быстро и удобно вывести дату в нужном, человеко-читаемом формате. Для конвертирования такоей метки даты-времени в читаемый формат в PHP существует функция date(), однако она не учитывает язык конечного пользователя.

Для решения этой проблемы в Cotonti есть функция «обертка» cot_date(). Перейдем теперь к примеру. Предположим мы имеем какой-либо тег содержащий метку времени, например — PAGE_ROW_DATE_STAMP. Используем cot_date() как обратный вызов (из шаблона):

{PAGE_ROW_DATE_STAMP|cot_date('d-m-Y', $this)}

Передаем значение PAGE_ROW_DATE_STAMP в функцию и предполагаем вывод в формате `d-m-Y` (для понимания сокращений в формате смотри описание функции date()).

Замечание: Функция принимает 3 параметра: первый (обязательный параметр) задает строку формата, второй — метку времени, третий — использовать ли временную зону пользователя.

Кроме возможности указать формат в ручную, в системе есть ряд предопределенных заранее форматов. Эти форматы определены на уровне системных языковых файлов (main.*.lang.php) и поэтому могут учитывать некоторые национальные особенности отображания дат для того или иного языка. Хранятся эти определения в массиве $Ldt. При проектировании своих расширений рекомендуется использовать именно эти готовые форматы.  Например:

{PAGE_ROW_DATE_STAMP|cot_date('date_full', $this)}

Ниже приведен список всех предопределенных форматов (примеры даны для руcского RU языкового файла):

Name Format Example
date_full d.m.Y 13.02.2009
date_medium m.Y 02.2009
date_short d.m 13.02
date_text d F Y 13 февраля 2009
date_fulltext l, d F Y Пятница, 13 февраля 2009
time_full H:i:s 23:31:30
time_medium G:i 23:31
time_short i:s 31:30
time_text g:i A 11:31 PM
time_fulltext g:i:s A 11:31:30 PM
datetime_full d.m.Y H:i:s 13.02.2009 23:31:30
datetime_medium d.m.Y H:i 13.02.2009 23:31
datetime_short d.m H:i 13.02 23:31
datetime_text d F Y H:i 13 февраля 2009 23:31
datetime_fulltext l, d F Y H:i Пятница, 13 февраля 2009 23:31
week_full o-\WW 2009-W07 *
week_medium \WW W07
week_short \WW-N W07-5
week_text \WW, l W07, Пятница
week_fulltext o-\WW, l 2009-W07, Пятница

* если номер недели (ISO) относится к предыдущему или следующему году — будет отображен соотв. год.

дополнительно https://www.cy-pr.com/tools/time/

Помощь, поддержка, консультации, доработки сборки биржи услуг на Cotonti заказать можно по контактам:
Email: [email protected]
Skype: webitproff
Telegram: webitproff

Оставьте комментарий

Прокрутить вверх