Listeneinträge als iCal-Datei generieren

Nutzbar ab: Version 17

Die Einträge einer Weblication® Liste (z.B. Veranstaltungen, etc.) lassen sich als ical-Datei ausgeben, um diese bei Bedarf zu speichern.

Ab Weblication® CMS-Version 17 steht Ihnen die Möglichkeit zur Verfügung, iCal-Dateien über die gewohnten Listenfunktionen für beliebige Weblics® zur generieren. Sie installieren die Funktion mit dem Weblic® "CSV Liste". Die ausgewählten und gefilterten Dateien lassen sich nachträglich über das PHP-Framework beliebig anpassen. Weblication® Listen wie z.B. Veranstaltungstermine, Kurse, etc. können als generierte iCal-Datei abgespeichert werden.

Das Weblic® beinhaltet im Standard ein Beispiel für eine iCal-Liste veranstaltungen_ical.php

Der Screen nebenan zeigt Ihnen ein Beispiel in dem anhand von HTTP-Request-Parametern aus den Veranstaltungsterminen eine ical-Datei erstellt werden kann. Sie haben dadurch die Möglichkeit einzelne Veranstaltungen abzufragen oder abhängig von Ort und Kategorie Veranstaltungen zu filtern.

In der Bearbeitung stehen die gewohnten Listenfunktionen - reduziert auf die für die iCal Liste erforderlichen Funktionen - zur Verfügung. Bei Bedarf können Sie über das Template ical.wObject.php auch weitere Felder hinzufügen.

Die Listeneinträge lassen sich zur Ausgabe über das Feld "PHP zum nachträglichen Anpassen eines Eintrags" individuell manipulieren.

Über die Standardlistenfilter können Sie die Liste beliebig durch weitere Filtermöglichkeiten ergänzen.

Beispiel: PHP zum nachträglichen Anpassen eines Eintrags am Beispiel von Veranstaltungsterminen, Ergänzung der Ortsbeschreibung

/**
* Hier können Sie den Ical-String manipulieren
*
* Zur Verfügung stehende Variablen
* $path - Pfad der Datei in Liste
* $from - Start-Datum des Termines
* $to - End-Datum des Termines
* $icalData - Informationen die im IcalString geschrieben werden, der Key entspricht dabei der Spezification des iCal-Strings
*
* Beispiel:
* $icalData['DESCRIPTION'] = 'Das beliebteste Frühjahreskonzert am Pavillon im Park'
* $icalStr = 'DESCRIPTION:Das beliebteste Frühjahreskonzert am Pavillon im Park'
*
**/

/*Hinzufügen der Ortsbeschreibung*/
$locationDetails = wDocumentData::getData($path, '/wd:extension/wd:object/wd:data[@id = "locationDetails"]/text()');
if(
$locationDetails != ''){
$icalData['LOCATION'] .= ($icalData['LOCATION'] != '' ? ', ' : ''). preg_replace("/[\n\r]+/", ", ", $locationDetails);
}

/*Nach 75 Zeichen einen Umbruch in die Beschreibung einfügen*/
$icalData['DESCRIPTION'] = wordwrap($description, 75-(strlen('DESCRIPTION')+1), "\n", true);

Tipp

Um Seitenbesuchern das Herunterladen von z.B. Veranstaltungsterminen als iCal-Datei zu ermöglichen, können Sie die erstellte Datei z.B. als Link / Schaltfläche unterhalb der Liste von Veranstaltungsterminen anbieten. Möchten Sie die Schalfläche an die Filter Koppeln, ist es empfehlenswert den Link via Javascript um die Requestparameter dynamisch zu ergänzen:
z.B. javascript:wOpenURL('/[Projekt]/csvLists/veranstaltungen_ical.php' + location.search);