Import news and events from ChurchDesk as news into Contao.
composer require numero2/contao-churchdesk
)config.yaml
church_desk:
api:
organization_id: 123
partner_token: 'abc'
By default the bundle only imports certain information from ChurchDesk. If you need more data you can import them on your own using the parseChurchDeskEntry
hook:
// 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;
}
}
}
An automatic import of all events and blog entries can be started via the command vendor/bin/contao-console contao:churchdesk:import
.