Установил (скачал, скопировал, активировал). У своего материала создал дополнительное поле - дата. В Views активировал представление calendar, настроил адрес выдачи календаря, настроил у представления тип на мой тип материала и аргумент на моё дополнительное поле даты. У Calendar block - заменил название в описании блока для Администратора. Дальше пришлось применять хаки.
1. Что бы по нажатию на день производился переход на обзор статей за месяц в файле calendar-day.tpl.php (в папке theme, в корневой папке модуля) удаляем весь код и пишем:
2. Что бы при отображении в ноде всего месяца осталась ссылка только на месяц и год, в файле calendar.module (в корневой папке модуля) в строке с 128 по 130 (удалил день и неделю):
3. Можно сделать подругому, что бы совсем убрать в заголовке в ноде, день - месяц - год, в файле calendar-main.tpl.php (в папке theme, в корневой папке модуля) необходимо удалить строку:
А ссылку на год можно при этом получить вот так:
4. Темизаю делал используя шаблонизатор: скопировал node.tpl.php и переименовал в page-мой_адрес_страницы_для_календаря_настроенный_в_views.tpl.php. В данном файле внутри описал темизацию всего блока в котором у меня выводится блок календаря (сам блок по простому не темизовался с первого раза, а искать хуки было некогда). В этом же файле я подключил исправленную (темизованную) calendar.css для темизации css моего календаря.
Собственно два вопроса:
1. Что бы по нажатию на день производился переход на обзор статей за месяц нельзя сделать без хаканья calendar-day.tpl.php? А то я не нашёл.
2. Что бы при отображении в ноде всего месяца осталась ссылка только на месяц и год нельзя сделать без хаканья? Через темизацию Views, сделать не получилось.
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Извиняюсь, сначала выдало сервер недоступен, попробовал запостить ещё раз - оказалось уже добавлено.
У меня Drupal 5.* Как-то можно применить всё это к 5-й версии? Не могу найти, где что менять.. ((
Спасибо! Помогло! А как сделать что бы в заголовке node календаря вместо Week of Ноябрь 15 2010 --- Week of 15 Ноября 2010?
Нашел:
в файле theme.inc модуля date
менять следующий код (просто местами кодировку переставляем):
<?phpfunction theme_date_nav_title($granularity, $view, $link = FALSE, $format = NULL) {
switch ($granularity) {
case 'year':
$title = $view->date_info->year;
$date_arg = $view->date_info->year;
break;
case 'month':
$format = !empty($format) ? $format : (empty($view->date_info->mini) ? 'F Y' : 'F');
$title = date_format_date($view->date_info->min_date, 'custom', $format);
$date_arg = $view->date_info->year .'-'. date_pad($view->date_info->month);
break;
case 'day':
$format = !empty($format) ? $format : (empty($view->date_info->mini) ? 'l, F j Y' : 'l, F j');
$title = date_format_date($view->date_info->min_date, 'custom', $format);
$date_arg = $view->date_info->year .'-'. date_pad($view->date_info->month) .'-'. date_pad($view->date_info->day);
break;
case 'week':
$format = !empty($format) ? $format : (empty($view->date_info->mini) ? 'j F Y' : 'j F');
$title = t('Week of date', array('date' => date_format_date($view->date_info->min_date, 'custom', $format)));
$date_arg = $view->date_info->year .'-W'. date_pad($view->date_info->week);
break;
}?>