Плагин Metadates для CMF Cotonti

Разработка плагина, обеспечивающего гибкий и удобный вывод даты и времени в различных представлениях

Разработка плагина Metadates

Плагин Metadates является лучшим и единственным решением для среды управления сайтом Cotonti, предназначенным для вывода различного представления даты и времени. В базовой комплектации CMS Cotonti предлагает выводить даты и время только полностью и в цифровом виде, например:

01.03.2010 г.

или

14:05 03.01

Данную проблему частично решал плагин Cooldates, однако его реализация и возможности заставляют желать лучшего, да и написан он для CMS Seditio.

Почему Metadates?

Плагин Metadates лишен всех указанных недостатков, поскольку он

  1. Опимизирован для использования в среде управления сайтом Cotonti
  2. Обеспечивает вывод дат через файлы локализации
  3. Использует стандартные теги вывода даты и времени

Где и как использовать для вывода даты и времени плагин Metadates?

Metadates использует следующие стандартные теги Cotonti с добавлением собственных постфиксов:

  • {COMMENTS_ROW_DATE} в comments.tpl
  • {FORUMS_POSTS_ROW_CREATION} в forums.posts.tpl
  • {LIST_ROW_DATE}, {LIST_ROW_BEGIN} и {LIST_ROW_EXPIRE} в list.tpl
  • {PAGE_ROW_DATE}, {PAGE_ROW_BEGIN} и {PAGE_ROW_EXPIRE} в news.tpl
  • {PAGE_ROW_DATE}, {PAGE_ROW_BEGIN} и {PAGE_ROW_EXPIRE} в page.tpl

Например, комментарий создан 2 марта 2010 г. в 21:47. C помощью плагина Metadates будут доступны следующие значения:

{COMMENTS_ROW_DATE_YYYY}: 2010 // Год в 4 цифры
{COMMENTS_ROW_DATE_YY}: 10 // Год в две цифры
{COMMENTS_ROW_DATE_DD}: 02 // Дата
{COMMENTS_ROW_DATE_D}: 2 // Дата без 0
{COMMENTS_ROW_DATE_MMMM}: март // Полный месяц
{COMMENTS_ROW_DATE_MMM}: мар // Сокращенный месяц
{COMMENTS_ROW_DATE_MM}: 03 // Порядковый номер месяца
{COMMENTS_ROW_DATE_M}: 3 // Порядковый номер месяца без 0
{COMMENTS_ROW_DATE_WWWW}: вторник // Полный день недели
{COMMENTS_ROW_DATE_WWW}: вт // Сокращенный день недели
{COMMENTS_ROW_DATE_W}: 2 // Порядковый номер дня недели (вск = 0)
{COMMENTS_ROW_DATE_Z}: 60 // Количество дней с начала года
{COMMENTS_ROW_DATE_GG}: 21 // Часы (24-часовой формат без 0)
{COMMENTS_ROW_DATE_G}: 21 // Часы (24-часовой формат без 0)
{COMMENTS_ROW_DATE_HH}: 21 // Часы (24-часовой формат с 0)
{COMMENTS_ROW_DATE_H}: 21 // Часы (12-часовой формат с 0)
{COMMENTS_ROW_DATE_I}: 47 // Минуты
{COMMENTS_ROW_DATE_S}: 00 // Секунды

The Metadates plugin is the best and the only solution for the Cotonti CMF that provides you with a flexible capability to display numeric & textual date and time representations within a Cotonti template file. In the Cotonti basic package you are limited with a digit-only date and time stamps, i.e.:

2010/03/01

or

14:05 03.01

This problem was partially solved by a far-from-being-perfect Cooldates plugin written specifically for the Seditio CMS.

Why Metadates?

The Metadates plugin is free from thew above shortcomings due to:

  1. Optimization for the Cotonti CMF
  2. Output via localization files
  3. Use of the Cotonti standard date / time output tags

Where and how can I use Metadates?

Metadates works via the following Cotonti standard tags with its own postfixes attached:

  • {COMMENTS_ROW_DATE} in the comments.tpl
  • {FORUMS_POSTS_ROW_CREATION} in the forums.posts.tpl
  • {LIST_ROW_DATE}, {LIST_ROW_BEGIN} and {LIST_ROW_EXPIRE} in the list.tpl
  • {PAGE_ROW_DATE}, {PAGE_ROW_BEGIN} and {PAGE_ROW_EXPIRE} in the news.tpl
  • {PAGE_ROW_DATE}, {PAGE_ROW_BEGIN} and {PAGE_ROW_EXPIRE} in the page.tpl

In instance, a comment was created on March 2, 2010 @ 21:47. Via Metadates you're gonna have the following date / time components available in the template:

{COMMENTS_ROW_DATE_YYYY}: 2010 // 4-digit year
{COMMENTS_ROW_DATE_YY}: 10 // 2-digit year
{COMMENTS_ROW_DATE_DD}: 02 // 2-digit date
{COMMENTS_ROW_DATE_D}: 2 // 1-digit date
{COMMENTS_ROW_DATE_MMMM}: March // Full month
{COMMENTS_ROW_DATE_MMM}: Mar // Shortened month
{COMMENTS_ROW_DATE_MM}: 03 // 2-digit month index number
{COMMENTS_ROW_DATE_M}: 3 // 1-digit month index number
{COMMENTS_ROW_DATE_WWWW}: Tuesday // Full weekday
{COMMENTS_ROW_DATE_WWW}: Tue // Shortened weekday
{COMMENTS_ROW_DATE_W}: 2 // Weekday index number (Sun = 0)
{COMMENTS_ROW_DATE_Z}: 60 // Number of dated passed since Jan 1
{COMMENTS_ROW_DATE_GG}: 21 // 24-hour format of an hour without leading zeros
{COMMENTS_ROW_DATE_G}: 21 // 24-hour format of an hour without leading zeros
{COMMENTS_ROW_DATE_HH}: 21 // 24-hour format of an hour with leading zeros
{COMMENTS_ROW_DATE_H}: 21 // 12-hour format of an hour with leading zeros
{COMMENTS_ROW_DATE_I}: 47 // Minutes
{COMMENTS_ROW_DATE_S}: 00 // Seconds