Хочу организовать таймер обратного отсчета до события. Т.е есть афиша, в неё нужно добавить поле ввода даты когда произойдет событие. После добавления записи вместо даты добавления поставить через сколько произойдет событие. Вообще такое возможно стандартными средствами или нет?
Комментарии
http://www.google.ru/search?q=jquery+countdown
ну либо вариант на php:
<?php
$today = strtotime("2011-02-03 00:00:00");
$myBirthDate = strtotime("1964-10-30 00:00:00");
printf("I'm %d days old.", round(abs($today-$myBirthDate)/60/60/24));
?>
(взято отсюда)
Мне нужно чтобы не одна дата была. Приведу пример. Есть три записи: Театр, Кино, Цирк. Возле каждой записи будет, к примеру, для Театра состоится завтра (или через n-часов), для Кино, 20 дней (или n-часов), для Цирка так же. Чтобы этот обратный отсчет выводился к примеру вместо даты добавления поста, ну или на худой конец в самом посте.
дак вам нужно чтобы время тикало, или просто на странице выводилось сколько осталось до события?
Если чтобы тикало - товарищ xxandeadxx вам написал, если чтобы просто выводилось - можно на php сделать. Нужно 3 даты - ради бога, скопируйте трижды и поменяйте переменные...
Чтобы тикало это не серьезно. Чтобы просто выводилось сколько осталось. Найти скрипт не проблема, проблема в том как его прикрутить к записям?
На заметку
jquery_countdown
Ну так используйте тимплэйты... Если у вас cck поле, и называется оно например field_date, то:
1) Ставите модуль date, включаете date_api, date_timezone, date_popup, своему полю назначаете виджет date_popup, чтобы удобно дату выбирать
2) копируете в папку темы файл content-field.tpl.php из папки модуля cck/theme, делаете его копию и переименовываете в content-field-field_date.tpl.php
2) в код content-field-field_date.tpl.php вставляете что-то подобное:
date_timezone_set($date_start, timezone_open($node->field_date[0]['timezone']));
$date_end = date_create($node->field_date[0]['value2'], timezone_open($node->field_date[0]['timezone_db']));
date_timezone_set($date_end, timezone_open($node->field_date[0]['timezone']));
$event_length = date_difference($date_start, $date_end, 'minutes');
(этот код показывает длительность мероприятия в минутах, но думаю допилить его до вашего случая труда не составит.)
Извиняюсь, но подробнее смогу только вечером...