Объединение событий одного дня в календаре с использованием API повтора даты - PullRequest
2 голосов
/ 02 мая 2011

Я использую API Повтора Даты, чтобы установить события, которые происходят каждую неделю.Тем не менее, повтор даты только позволяет установить событие на один раз (час и минута).Чтобы устранить это ограничение, я просто создал еще один повторный ввод в типе контента.Это прекрасно работает, но я хочу, чтобы названия узлов, которые отображаются в моем календаре для двух временных интервалов, отображались как один.Итак, если у меня есть три временных интервала в один день, он будет отображаться только как один.

Я попытался перехватить результаты просмотра путем создания пользовательского модуля, но он только вернулся с информацией об узле без какой-либо информации в текущий деньон будет включен.

 [0] => stdClass Object
        (
            [nid] => 145
            [node_title] => Repeat 1
            [node_data_field_recurring_field_recurring_value] => 2011-05-19T20:00:00
            [node_data_field_recurring_field_recurring_rrule] => RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH,FR;UNTIL=20110722T235959Z;WKST=SU
            [node_data_field_recurring_delta] => 0
            [node_type] => test_event
            [node_vid] => 145
            [node_data_field_specific_date_field_specific_date_value] => 2011-06-15T16:00:00
            [node_data_field_specific_date_delta] => 0
            [node_data_field_recurring_2_field_recurring_2_value] => 2011-05-19T00:00:00
            [node_data_field_recurring_2_field_recurring_2_rrule] => RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,FR;UNTIL=20110722T235959Z;WKST=SU
            [node_data_field_recurring_2_delta] => 0
        )

    [1] => stdClass Object
        (
            [nid] => 145
            [node_title] => Repeat 1
            [node_data_field_recurring_field_recurring_value] => 2011-05-19T20:00:00
            [node_data_field_recurring_field_recurring_rrule] => RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH,FR;UNTIL=20110722T235959Z;WKST=SU
            [node_data_field_recurring_delta] => 0
            [node_type] => test_event
            [node_vid] => 145
            [node_data_field_specific_date_field_specific_date_value] => 2011-06-15T16:00:00
            [node_data_field_specific_date_delta] => 0
            [node_data_field_recurring_2_field_recurring_2_value] => 2011-05-20T00:00:00
            [node_data_field_recurring_2_field_recurring_2_rrule] => RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,FR;UNTIL=20110722T235959Z;WKST=SU
            [node_data_field_recurring_2_delta] => 1
        )

    [2] => stdClass Object
        (
            [nid] => 145
            [node_title] => Repeat 1
            [node_data_field_recurring_field_recurring_value] => 2011-05-19T20:00:00
            [node_data_field_recurring_field_recurring_rrule] => RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TH,FR;UNTIL=20110722T235959Z;WKST=SU
            [node_data_field_recurring_delta] => 0
            [node_type] => test_event
            [node_vid] => 145
            [node_data_field_specific_date_field_specific_date_value] => 2011-06-15T16:00:00
            [node_data_field_specific_date_delta] => 0
            [node_data_field_recurring_2_field_recurring_2_value] => 2011-05-23T00:00:00
            [node_data_field_recurring_2_field_recurring_2_rrule] => RRULE:FREQ=DAILY;INTERVAL=1;BYDAY=MO,FR;UNTIL=20110722T235959Z;WKST=SU
            [node_data_field_recurring_2_delta] => 2
        )

Как видите, он возвращает только правило повтора, поэтому я думаю, что модуль Calendar должен выполнить вычисления после.Но где?

1 Ответ

0 голосов
/ 01 декабря 2011

Я бы взял совершенно другой подход.Создайте ссылку на узел, который создает отношения родитель-потомок между событиями.Затем в вашем представлении просто исключите события, которые имеют родительские узлы.

Вам нужно изменить шаблон событий для отображения дочерних событий.

С точки зрения ввода данных это потребует больше работы для каждого события, если только не будет выполнена какая-либо другая настройка, чтобы сделать его эффективным для ввода.сделанный.Не использовал это, но похоже, что это может ускорить создание нескольких узлов, http://drupal.org/project/editview

...