代码之家  ›  专栏  ›  技术社区  ›  Jan Fabry

如何向Kronolith日历显示自定义事件

  •  1
  • Jan Fabry  · 技术社区  · 16 年前

    我要在中显示来自外部源的事件 Kronolith 日历视图。我不想通过将事件导出到iCal,然后将其显示为外部日历来完成此操作。事件分组在多个日历中,用户应该能够禁用/启用这些日历。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Jan Fabry    16 年前

    您可以通过实现 listTimeObjects listTimeObjectCategories API调用。 Nag (任务列表)和 Whups (票务跟踪)这样做。如果您使用的是Git版本,则可以使用 TimeObjects 把所有的事情都安排在一个很好的课堂上。

    Kronolith调用这些函数 initialize() (填充时 $all_external_calendars ) listEvents() . 它会搜索该函数的所有API,因此您可以用自己的前缀注册它。

    时间对象 是“可以在日历上显示的内容”的通用名称,如事件、任务截止日期…一 时间对象类别 是一组 时间对象 ,用户可以在组中启用或禁用。(在默认布局中:使用日历视图右上角的面板“日历”。)

    您的实施 列表时间对象类别 应返回一个数组,以类别ID为键,以用户可见名称为值。类别ID也显示在日历的底部,用户可以为它们定义颜色。

    ListTimes对象 使用当前选定的类别(ID数组)和开始和结束日期调用。这些日期可能已经 Horde_Date 对象(确保再次转换: $start = new Horde_Date($start) )

    您应该返回一个数组 时间对象 属于这些类别并属于指定时间范围的。键是事件ID,值是具有以下键的值的数组:

    • id
    • title
    • description
    • start ( 部落日期 或时间戳)
    • end ( 马蹄莲 或时间戳)
    • category (类别ID)
    • params

    如果您注册 show API调用,这将用于创建指向 时间对象 细节。