Здравствуйте. поставил модуль Event создал событие... все хорошо. Как сделать так чтобы события различались по признакам и соответственно можно было бы выбрать какого признака события показать пользователю. Признаки такие: день рождения; соревнования; оргсобрания; праздники; памятные даты; и др.
Мне надо сделать так, чтобы события отображались не только в текщем и последующих месяцах, но и в будующих годах и предидущих десятилетиях. Как и где это все настраивается? подскажите пожалуйста.
На странице http://dnevnikdrupal/event
у меня прорисован календарь на котором отображаются события. Над ним два выпадающих списка "События":
1 Все и внизу коментарий: Показать события по теме
2 Все и внизу коментарий: Показать события по типу
Как сюда добавить помима пункта Все и другие пункты, например те что я писал выше (день рождения; соревнования; оргсобрания; праздники; памятные даты; и др.)
С уважением, Станислав.
Комментарии
Встроенный taxonomy модуль
спорим, ссылка без домена 1 уровня не откроется
Т.е. вы предлогаете создать новый словарь, например "темы событий" и еще один "Типы событий" и в них создать термины: в "темы событий" сосздать: день рождения; соревнования; оргсобрания; праздники; памятные даты; и др. А в словаре "типы событий" создать: международные; региональные; общероссийские; наиважнейшие; маловажные ит.д.? Хорошо это я смогу сделать, уже научился вроде. И как теперь внести термины из этих словарей в соответствующие раскрывающиеся списки на странице my_host/event ?
И соответственно когда буду создавать события надо будет их помечать соответственно двумя терминами, один из которых определяет тип, например "международные", а второй термин определяет тему события, например "день рождения" Это я правильно понимаю?
alisa, уважаю ваши старания по переводам, но в данный момент я вас не понял. Поясните пожалуйста.
Сделал два словаря. наполнил их терминами. в итоге все термины из этих двух словарей попали в раскрывающийся список: Показать события по теме
А где Показать события по типу все осталось как было: "Все" и "Событие" хотя я ожидал что туда добавятся термины из словаря "Типы событий". В календаре на странице http://dnevnikdrupal/event события отображаются в зависимости от выбраной темы события. т.е. это работает так как я и ожидал.
В дополнение, хочется сделать чтобы вывод был на этой странице не только на месяц но и на год в целом, т.е. таблица из 12 месяцев.
Подскажите что надо делать?
Как изменить блок этого модуля? Интересуют такие изменения: ограничить число выводимых событий текущим месяцем. И предоставить возможность в блоке обновить информацию так чтобы пользователь смог посмотреть события не из текущего месяца, а из последующих либо кнопкой либо ссылкой "следующий месяц"
Также предоставить пользователю возможность выбора типа событий отображаемых в блоке и темы события отображаемой в блоке. Чтобы была возможность заранее определить приоритетные типы и темы в зависимости от роли и привилегий пользователя. Как это все сделать? Ну или хотябы часть?
Предполагаю что надо изменять файлы из директории ./sites/all/modules/event/:
eventblock.js
event_node_edit.js -в этом файле в самом начале:
if (Drupal.jsEnabled) {
что это? я так понимаю это проверка на предмет установлен JS или нет. Я так понимаю что это зависит от браузера, или я что то путаю или недопанимаю, пожалуйста поясните.event-nodeapi.tpl.php - во время изучения этого файла исходя из этого:
* - $node_type: Node type
и вот этого:<?php if (variable_get('configurable_timezones', 1)) {
$zone = event_zonelist_by_id($node->event['timezone']); ?>
<div class="event-nodeapi">
<div class="<?php print $node_type ?>-tz"><label><?php print t('Timezone: ') ?></label><?php print t($zone['name']) ?> </div>
</div>?>
пришол к выводу, что тип события берется из типов материалов вообще, например "заметка" просто чтобы оно появилось в нисходящем списке надо ... блин мысль потерял., да и не уверен в ней. подскажите, может не туда закапываюсь?
event-calendar-list.tpl.php
event-node-list.tpl.php
event-node-month.tpl.php
event-node-day.tpl.php
event-node-week.tpl.php
event.theme
Куда надо больше копать чтобы решить вопрос с выводом нужной инфы в блоке модуля? Что то подсказывает мне, что даже не в этих файлах надо копать, это вроде файлы управляющие выводом на страницу, а не в блок.
За вывод блоков в теме сайта насколько я понял отвечает вот этот файл: block.tpl.php находящийся в папке темы сайта. Этот файл вроде проверяет есть или нет блок у какого либо модуля и если блок есть выводит его если он включен. И тут вроде все. Соответственно настройка внешнего выда самого блока от конкретного модуля находится в файлах *.tpl.php которые лежат в папке соответствующего модуля. Так?
Соответственно мне надо редактировать файл: eventblock.js но все таки смущает *.js ...
еще я так понял что за вывод блока отвечает вот этот кусок кода файла theme.tpl.php в самом конце:
<?php/**
* Format the upcoming event block for event calendars
*
* param items
* An array of themed upcoming events
*/
function theme_event_upcoming_block($items) {
$output = theme("item_list", $items);
return $output;?>
Да? Куда дальше рыть?
Изучать Views
Спасибо! Т.е. в основном все что я хочу сделать позволит сделать Views? Насколько я понимаю этот модуль отвечает за то в каком порядке и как расположить на странице нужную информацию.... не лазая по файлам темизации... наверное это повышает нагрузку на сервер? Пока это не кретично, но в будущем...
Я так понимаю, что поставленные задачи можно решить и без этого модуля откорректировав css и tpl.php соответствующие модулю. Да?
Сейчас все таки наверное будет несколько проще освоить Views.
Спасибо за ответы. Буду осваивать Views. Если что не будет получаться я напишу сюда.