Измените дату публикации на 12-часовое время


Прямо сейчас на моих узлах написано, что опубликовано "имя автора 19:02". Как я могу изменить его, чтобы отображать 12-часовое время 7:02?

 3
6
Author: Matthew Hui, 2011-07-09

2 answers

Он использует формат даты сайта по умолчанию, который является средним. Вы можете настроить это в разделе администратор/настройки/дата-время и выбрать формат, в котором используется am/pm.

Вы также можете реализовать hook_preprocess_node() в своей теме или модуле, а затем переопределить переменную "отправлено", заданную template_preprocess_node(). Это позволяет вам использовать другой формат даты только там.

 5
Author: Berdir, 2011-07-09 07:10:29

В Drupal есть специальные функции тематизации для настройки этого:

Это значение по умолчанию (для узлов):

function theme_node_submitted($node) {
  return t('Submitted by !username on @datetime',
    array(
      '!username' => theme('username', $node),
      '@datetime' => format_date($node->created),
    ));
}

Это значение по умолчанию для комментариев:

function theme_comment_submitted($comment) {
  return t('Submitted by !username on @datetime.',
    array(
      '!username' => theme('username', $comment),
      '@datetime' => format_date($comment->timestamp)
    ));
}

Чтобы переопределить их, добавьте эти функции в свой template.tpl.php вашей темы и измените имя на MYTHEME_node_submitted. И теперь вы можете настроить его:

Drupal 6 по умолчанию использует формат 'D, m/d/Y - H:i', чтобы понять значение этих букв, смотрите полный документ PHP здесь

Для отображения в 12-часовой формат, замените H на h следующим образом:

format_date($node->created, 'custom', 'D, m/d/Y - h:i');

Ссылка на API о format_date()

 2
Author: corbacho, 2011-07-09 20:11:06