Всем доброго времени суток. Сейчас дата создание ноды в пользовательском формате d M Y .
Подскажите пожалуйста, как сделать чтобы вместо даты для сегодняшних нод было "сегодня", для вчерашних "вчера" а далее уже по формату.
Заранее благодарна!
Всем доброго времени суток. Сейчас дата создание ноды в пользовательском формате d M Y .
Подскажите пожалуйста, как сделать чтобы вместо даты для сегодняшних нод было "сегодня", для вчерашних "вчера" а далее уже по формату.
Заранее благодарна!
Комментарии
sub
$now = time();
$data = $row->{$field->field_alias}; // это для поля views, для node.tpl.php $node->created;
$today = format_date($now, 'custom', 'Y|n|j');
$created = format_date($data, 'custom', 'Y|n|j');
global $user;
if (variable_get('configurable_timezones', 1) && $user->uid && strlen($user->timezone)) {
$timezone = $user->timezone;
}
else {
$timezone = variable_get('date_default_timezone', 0);
}
$yesterday = date("Y|n|j", $now - (86400) + $timezone);
if($created == $today) {
print 'Сегодня';
}
elseif ($created == $yesterday) {
print 'Вчера';
}
else {
print format_date($data, 'custom', 'j F, Y');
}
?>
позвольте глупый вопрос: а куда этот код вставлять?
penexe спасибо большое !!!
таки куда вставлять?
и не понял комментарий в коде... / это для поля views, для node.tpl.php $node->created; - что это значит?
у меня на сайте это используется в шаблоне для поля views-view-field--board--created.tpl
если так использовать, то изменять не надо, если для шаблона ноды то заменить
$data = $row->{$field->field_alias}; на $data = $node->created;
А почему бы не джиквери? http://ejohn.org/projects/javascript-pretty-date/
Спасибо penexe, за скрипт, а как добавить и время?
14:00 Сегодня
15:00 Вчера
Возможно?
Решил сам! прописал в node.tpl.php
<?php
$now = time();
$data = $node->created; // это для поля views, для node.tpl.php $node->created;
$today = format_date($now, 'custom', 'Y|n|j');
$created = format_date($data, 'custom', 'Y|n|j');
global $user;
if (variable_get('configurable_timezones', 1) && $user->uid && strlen($user->timezone)) {
$timezone = $user->timezone;
}
else {
$timezone = variable_get('date_default_timezone', 0);
}
$yesterday = date("Y|n|j", $now - (86400) + $timezone);
if($created == $today) {
print format_date($data, 'custom', 'G:i');
print ' Сегодня';
}
elseif ($created == $yesterday) {
print format_date($data, 'custom', 'G:i');
print 'Вчера';
}
else {
print format_date($data, 'custom', 'j F, Y');
}
?>
Оказывается что скрипт не правильно работает при переходе на следующий месяц: апрель - май
в место вчера пишет дату в формате:
print format_date($data, 'custom', 'j F, Y');