Всем привет!
В очередной раз сталкиваюсь с проблемой формата дат...
Детальнее, скачал тему, в этой теме слудующий код в файле template.php:
// Date & author
$date = t('Posted by ') . format_date($vars['node']->created, 'medium'); // Format date as small, medium, or large
$author = theme('username', $vars['node']);
$author_only_separator = t('Posted by ');
$author_date_separator = t(' by ');
$submitted_by_content_type = (theme_get_setting('submitted_by_enable_content_type') == 1) ? $vars['node']->type : 'default';
$date_setting = (theme_get_setting('submitted_by_date_'. $submitted_by_content_type) == 1);
$author_setting = (theme_get_setting('submitted_by_author_'. $submitted_by_content_type) == 1);
$author_separator = ($date_setting) ? $author_date_separator : $author_only_separator;
$date_author = ($date_setting) ? $date : '';
$date_author .= ($author_setting) ? $author_separator . $author : '';
$vars['submitted'] = $date_author;
В итоге получается следующее:
Posted by Сб, 06/20/2009 - 13:10 by name47
Хотя мне надо:
20/06/2009 - 13:10 - name47
или
13:10 - 20/06/2009 - name47
помогите разобраться в этом коде...
Комментарии
// Для 20/06/2009 - 13:10
format_date( $vars['node']->created, 'custom', "d/m/Y - H:i" )
// Для 13:10 - 20/06/2009
format_date( $vars['node']->created, 'custom', "H:i - d/m/Y" )
Про ф-ию format_date() можно прочитать на сайте [ru-api=format_date]с апи[/ru-api]
Это ручное форматирование (для одиночного вывода). Однако если такой формат нужен будет всегда, то краткий формат даты можно изменить на нужный на страничке admin/settings/date-time и потом писать просто format_date($vars['node']->created, 'small').
Бонусом можно посмотреть табличку в мануале
Полностью код изменится на:
$date = format_date($vars['node']->created, 'custom', "d/m/Y - H:i");
// Форматирование имени автора ноды (ссылка или как еще...)
$author = theme('username', $vars['node']);
// Тут вроде-бы определяется из какого типа ноды брать настройки, чтобы вывести строчку (использовать реальный тип или брать как дефолтный). Хз если честно...
$submitted_by_content_type = (theme_get_setting('submitted_by_enable_content_type') == 1) ? $vars['node']->type : 'default';
// Флаг необходимости отображения даты (вроде как должен настраиваться в теме).
$date_setting = (theme_get_setting('submitted_by_date_'. $submitted_by_content_type) == 1);
// Флаг необходимости отображения имени автора.
$author_setting = (theme_get_setting('submitted_by_author_'. $submitted_by_content_type) == 1);
// Определение разделителя между датой и автором в зависимости от необходимости отображения даты.
// Если дату необходимо выводить, то разделитель будет " - ". Если дату выводить не надо, то, разумеется, никокого разделителя и не потребуется.
$author_separator = ($date_setting) ? ' - ' : '';
// Начало формирования строчки. В зависимости от необходимости выводится форматированная выше дата.
$date_author = ($date_setting) ? $date : '';
// В зависимости от необходимости добавляется разделитель и имя автора ноды.
$date_author .= ($author_setting) ? $author_separator . $author : '';
$vars['submitted'] = $date_author;
Как будете вставлять в код, уберите комменты.
Код очень бредовый и совершенно против всяких стилевых правил Друпала. Что за тема, если не секрет?
zhylik
Большое спасибо за ответ, просто огромное!!
neochief
acquia_slate