Coder Social home page Coder Social logo

events's Introduction

Terminverwaltung für REDAXO 5.10 & YForm 3.3

Mit diesem Addon können Termine anhand von YForm und YOrm im Backend verwaltet und im Frontend ausgegeben werden. Auf Wunsch auch mehrsprachig.

Dateneingabe

Features

  • 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 und yform_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

Mehrspachigkeit

Mehrspachigkeit

Installation

Im REDAXO-Installer das Addon events herunterladen und installieren. Anschließend erscheint ein neuer Menüpunkt Veranstaltungen sichtbar.

Nutzung im Frontend

Die Klasse event_date

Typ rex_yform_manager_dataset. Greift auf die Tabelle rex_event_date zu.

Beispiel-Ausgabe eines Termins

dump(event_date::get(3)); // Termin mit der id=3

Zusätzliche Methoden

getCategory() holt die passende Kategorie als event_category-Objekt.

dump(event_date::get(3)->getCategory()); // Termin mit der id=3

Die Klasse event_category

Typ rex_yform_manager_dataset. Greift auf die Tabelle rex_event_category zu.

Beispiel-Ausgabe einer Kategorie

dump(event_category::get(3)); // Termin mit der id=3

Die Klasse event_location

Typ rex_yform_manager_dataset. Greift auf die Tabelle rex_event_location_ zu.

Beispiel-Ausgabe einer Location

dump(event_location::get(3)); // Termin mit der id=3

Nutzung im Backend: Die Terminverwaltung

Die Tabelle "SPRACHEN"

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.

Die Tabelle "TERMINE"

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"

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"

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.

RESTful API (dev)

Die Rest-API ist über das REST-Plugin von YForm umgesetzt.

Einrichtung

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

Endpunkt date

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

Endpunkt category

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

Endpunkt location

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

Lizenz

MIT Lizenz, siehe LICENSE.md

Autor

Alexander Walther
http://www.alexplus.de
https://github.com/alexplusde

Projekt-Lead
Alexander Walther

Credits

events basiert auf: YForm
Danke an Gregor Harlan für die Unterstützung

events's People

Contributors

alxndr-w avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.