janborg/contao-ical-bundle

提供Contao日历的ical功能

安装: 491

依赖项: 0

建议者: 0

安全: 0

星级: 1

观察者: 1

分支: 1

开放问题: 1

类型:contao-bundle

0.2.4 2024-09-16 14:23 UTC

This package is auto-updated.

Last update: 2024-09-24 05:11:12 UTC


README

GitHub license Packagist Version Packagist

Contao Ical Bundle

使用此包可以为Contao日历创建ics文件,以便在其他程序(例如ICSx5、GoogleCalendar等)中订阅。

安装

请使用Contao Manager或执行CLI中的composer require janborg/contao-ical-bundle来安装扩展。

配置

该包使用默认配置。如有必要,可以在文件config/config.yml中覆盖这些设置。

参数

  • defaultEndDateDays: 如果未指定结束日期,ical日历中考虑的未来的最大天数
  • defaultEventDuration: 如果事件有一个开始时间但没有结束时间,指定为事件持续时间的时间(分钟)
# config/config.yml
# Contao Ical (default settings)
janborg_contao_ical:
  defaultEndDateDays: 365
  defaultEventDuration: 60

将事件或日历导出为.ics

通过自定义路由

该包实现了两个新路由,可以通过这些路由下载事件或整个日历的ical文件。通过相应的应用程序(例如ICSx5 for Android),也可以通过这些路由订阅日历。

  • /ical/event/{alias} 通过此路由可以为每个事件下载相应的*.ics文件,除非父日历受保护。在这种情况下,必须作为有权限的FE用户登录。
  • /ical/calendar/{ical_alias} 要通过此路由导出和导入日历,必须在相应的日历中激活并设置ical_alias。如果日历受保护,则必须作为有权限的FE用户登录。

通过“/share”下的文件

除了路由外,还可以将文件/share/ical_alias.ics放置在必要时。这里不能检查日历是否受保护!

通过钩子修改ical数据

存在修改作为ical提供的活动数据或添加自己的字段的可能性。为此,可以注册一个名为editVEvent的钩子。

示例

<?php

namespace App\EventListener;

use Contao\CalendarEventsModel;
use Contao\CoreBundle\DependencyInjection\Attribute\AsHook;
use Kigkonsult\Icalcreator\Vevent;

#[AsHook('editVEvent')]
class EditVEventListener
{
    public function __invoke(Vevent $vEvent, CalendarEventsModel $objEvent): Vevent
    {
        // Add additional data or modify $vEvent …

        return $vEvent;
    }
}