numero2/contao-churchdesk

从 ChurchDesk 导入新闻和事件到 Contao

1.0.0 2024-01-25 07:27 UTC

This package is auto-updated.

Last update: 2024-08-29 13:20:21 UTC


README

License: LGPL v3

关于

ChurchDesk 中的新闻和事件导入 Contao 作为新闻。

系统需求

安装

  • 通过 Contao Manager 或 Composer 安装(composer require numero2/contao-churchdesk
  • 通过 Contao-Installtool 或使用 contao:migrate 命令运行数据库更新。

配置

  • config.yaml 中输入凭据
    church_desk:
        api:
            organization_id: 123
            partner_token: 'abc'
  • 配置事件日历和或新闻存档

钩子

默认情况下,该组件仅从 ChurchDesk 导入某些信息。如果您需要更多数据,您可以使用 parseChurchDeskEntry 钩子自行导入。

// src/EventListener/ParseChurchDeskEntryListener.php
namespace App\EventListener;

use Contao\CoreBundle\ServiceAnnotation\Hook;
use Contao\Model;
use Contao\NewsModel;
use Contao\CalendarEventsModel;

/**
 * @Hook("parseChurchDeskEntry")
 */
class ParseChurchDeskEntryListener {
    
    public function __invoke( Model $model, array $apiData, bool $isUpdate ): void {

        if( $model instanceof CalendarEventsModel ) {
            $model->something = $apiData->something;
        }

        if( $model instanceof NewsModel ) {
            $model->anything = $apiData->anything;
        }
    }
}

控制台命令

可以通过命令 vendor/bin/contao-console contao:churchdesk:import 启动所有事件和博客条目的自动导入。