我想在Kronolith日历视图中显示来自外部来源的事件。我不想通过将事件导出到iCal然后将它们显示为外部日历来实现此目的。事件分组在多个日历中,用户应该能够禁用/启用这些日历。
答案 0 :(得分:0)
您可以通过实施listTimeObjects
和listTimeObjectCategories
API调用来实现此目的。 Nag(任务列表)和Whups(故障单跟踪)就是这样做的。如果您使用的是Git版本,则可以使用TimeObjects,它可以将所有内容包装在一个很好的类中。
Kronolith在initialize()
(填充$all_external_calendars
)和listEvents()
时调用这些函数。它会搜索所有API以获取此功能,因此您可以使用自己的前缀进行注册。
timeObject 是“可以在日历上显示的内容”的通用名称,如事件,任务截止日期,...... timeObjectCategory 是一组 timeObjects ,可由用户在组中启用或禁用。 (在默认布局中:使用日历视图右上角的面板“日历”。)
listTimeObjectCategories
的实现应返回一个数组,其中类别为id,用户可见名称为值。类别ID也显示在日历的底部,用户可以为它们定义颜色。
listTimeObjects
。这些日期可能已经是Horde_Date
个对象(确保再次转换它们:$start = new Horde_Date($start)
)。
您应该返回属于这些类别的 timeObjects 数组,并且属于指定的时间范围。键是事件ID,值是具有以下键值的数组:
id
title
description
start
(Horde_Date
或时间戳)end
(Horde_Date
或时间戳)category
(类别ID)params
如果您注册了show
API调用,则会将其用于创建指向 timeObject 详细信息的链接。