Mit diesem Addon können Termine anhand von YForm und YOrm im Backend verwaltet und im Frontend ausgegeben werden. Auf Wunsch auch mehrsprachig.
- Vollständig mit YForm umgesetzt: Alle Features und Anpassungsmöglichkeiten von YForm verfügbar
- Einfach: Die Ausgabe erfolgt über
rex_sql
oder objektorientiert über YOrm - Flexibel: Zugriff über die YForm Rest-API
- Sinnvoll: Nur ausgewählte Rollen/Redakteure haben Zugriff
- Bereit für mehrsprachige Websites: Reiter für Sprachen auf Wunsch anzeigen oder ausblenden
- Bereit für mehr: Vorbereitet für das JSON+LD-Format, ICS-Format
- Bereit für viel mehr: Kompatibel zum URL2-Addon
Tipp: Events arbeitet hervorragend zusammen mit den Addons
yform_usability
undyform_geo_osm
Steuere eigene Verbesserungen dem GitHub-Repository von events bei. Oder unterstütze dieses Addon: Mit einer Spende oder Beauftragung unterstützt du die Weiterentwicklung dieses AddOns
Im REDAXO-Installer das Addon events
herunterladen und installieren. Anschließend erscheint ein neuer Menüpunkt Veranstaltungen
sichtbar.
Typ rex_yform_manager_dataset
. Greift auf die Tabelle rex_event_date
zu.
dump(event_date::get(3)); // Termin mit der id=3
getCategory()
holt die passende Kategorie als event_category
-Objekt.
dump(event_date::get(3)->getCategory()); // Termin mit der id=3
Typ rex_yform_manager_dataset
. Greift auf die Tabelle rex_event_category
zu.
dump(event_category::get(3)); // Termin mit der id=3
Typ rex_yform_manager_dataset
. Greift auf die Tabelle rex_event_location_
zu.
dump(event_location::get(3)); // Termin mit der id=3
Die Tabelle "TERMINE" mit Flaggen-Symbol ist eine Tabelle, in der zunächst Sprachen verwaltet werden können und im Anschluss die eigentliche Termin-Tabelle gefiltert nach dieser Sprache angezeigt wird.
Wer keine mehrsprachigen Termine benötigt, kann diesen Menüpunkt problemlos für Redakteure über die Benutzer-Rollen ausblenden. Wichtig ist jedoch, dass mind. eine Sprache angelegt wurde.
In der Termin-Tabelle werden einzelne Daten festgehalten. Nach der Installation von events
stehen folgende Felder zur Verfügung:
Typ | Typname | Name | Bezeichnung |
---|---|---|---|
value | text | name | Name |
validate | empty | name | |
value | textarea | description | Beschreibung |
value | be_manager_relation | event_category_id | Kategorie |
value | be_manager_relation | location | Veranstaltungsort |
value | be_media | image | Bild |
value | text | url | URL |
value | datetime | startDate | Beginn |
validate | compare_value | startDate | |
value | time | doorTime | Einlass |
value | datetime | endDate | Ende |
value | select | eventStatus | Status |
value | text | offers_url | Tickets-URL |
value | text | offers_price | Preis |
validate | type | offers_price | |
value | select | offers_availability | Verfügbarkeit |
validate | type | url |
Die Felder und Feldnamen orientieren sich dabei am JSON+LD-Standard für Veranstaltungen, die wichtigsten Validierungen wurden bereits eingefügt.
Die Tabelle Kategorien kann frei verändert werden, um Termine zu gruppieren (bspw. Veranstaltungsreihen) oder zu Verschlagworten (als Tags).
Typ | Typname | Name | Bezeichnung |
---|---|---|---|
value | text | name | Titel |
validate | unique | name | |
validate | empty | name | |
value | be_media | image | Bildmotiv |
value | choice | status | Status |
value | be_manager_relation | date_id | Termine |
Die Tabelle Location enthält die passenden Veranstaltungsorte zu den Veranstaltungen. Sie wurde im Hinblick auf leichte Geocodierung erstellt, lässt sich aber beliebig um zusätzliche Informationen erweitern.
Typname | Name | Bezeichnung | Funktion |
---|---|---|---|
value | text | name | Name |
value | text | street | Straße, Hausnummer |
value | text | zip | PLZ |
value | text | locality | Stadt |
value | osm_geocode | lat_lng | Geoposition |
value | text | lat | Latitude |
value | text | lng | Lng |
Die Felder und Feldnamen orientieren sich dabei am JSON+LD-Standard für Veranstaltungen, die wichtigsten Validierungen wurden bereits eingefügt.
Die Rest-API ist über das REST-Plugin von YForm umgesetzt.
Zunächst das REST-Plugin von YForm installieren und einen Token einrichten. Den Token auf die jeweiligen Endpunkte legen:
/v0.dev/event/date
/v0.dev/event/category
/v0.dev/event/location
Auslesen: GET example.org/rest/v0.dev/event/date/?token=###TOKEN###
Auslesen einzelner Termin GET example.org/rest/v0.dev/event/date/7/?token=###TOKEN###
Termin der id=7
Auslesen: GET example.org/rest/v0.dev/event/category/?token=###TOKEN###
Auslesen einzelne Kategorie GET example.org/rest/v0.dev/event/category/7/?token=###TOKEN###
Termin der id=7
Auslesen: GET example.org/rest/v0.dev/event/location/?token=###TOKEN###
Auslesen einzelner Standort GET example.org/rest/v0.dev/event/location/7/?token=###TOKEN###
Termin der id=7
MIT Lizenz, siehe LICENSE.md
Alexander Walther
http://www.alexplus.de
https://github.com/alexplusde
Projekt-Lead
Alexander Walther
events basiert auf: YForm
Danke an Gregor Harlan für die Unterstützung