Skip to content

Zugriff auf Spielpläne und Ergebnisse über die API von nuLiga

License

Notifications You must be signed in to change notification settings

ContaoBayern/contao-nuligadata-bundle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

contao-nuligadata-bundle

Abfrage von Spielterminen und -ergebnissen über die nuLiga API um damit (u.a.) Einträge in einem Contao Kalender zu erzeugen.

Konfiguration

In der parameters.yml der Contao-Installation müssen die Zugangsdaten für die API hinterlegt werden:

    nuPortalRSHost: 'https://example-portal.liga.nu'
    nuClientID: '**********'
    nuClientSecret: '**********'

Neben den Zugangsdaten für die nuLiga API kann auch das Verhalten beim Datenabruf konfiguriert werden. Mit

    app.importData.deleteUcomingEvents: false

kann gesteuert werden, daß ContaoBayern\NuligadataBundle\NuLiga\Data\Meetings::deleteUpcomingMeetings() nicht aufgerufen wird. Damit werden Begegnungen, deren Spieldatum in der Zukunft liegt, vor einem Import nicht gelöscht. Dies kann zu Duplikaten führen (falls sich die meetingUuid der Begegnung -- warum auch immer -- geändert hat). Sinnvoll könnte diese Einstellung sein, wenn die Daten des erzeugten Events manuell erweitert wurden und diese Änderungen nicht verloren gehen sollen.

Verwendung

Datenabruf

Abruf von Daten auss der nuLiga-API über das nuliga:apiaccess Command.

Beispiel für ein Skript, das in einem cron job regelmäßig aufgerufen wird:

#!/bin/bash

CONTAO_ROOT=/pfad/zu/deiner/contao/installation
CONTAO_CONSOLE=$CONTAO_ROOT/vendor/bin/contao-console
 
COMMAND=nuliga:apiaccess

VERBAND='BHV'
SAISON='19/20'
CLUBNR='12345'

# die verschiedenen Bereiche einzeln synchronisieren
# $CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR teams
# $CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR meetings
# $CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR table

# alle Daten synchronisieren
$CONTAO_CONSOLE $COMMAND $VERBAND $SAISON $CLUBNR all

Nach dem ersten API-Aufruf der Mannschaften (Teams) der angegebenen Saison muss in den Einstellungen jedes Teams der Kalender angegeben werden, in dem die Spiele dieses Teams bei folgenden API-Aufrufen als Event eingetragen werden sollen. Die Daten zur aktuellen Tabelle werden direkt im Team gespeichert.

Inhaltselemente und Kalender-Events

Content Element Ergebnistabelle

Das Content Element Ergebnistabelle stellt die Tabelle zu einer ausgewählten Mannschaft (siehe Backend Modul "Teams") dar, die aus der nuLiga API geholt wurde. Es wird immer die aktuellste Tabelle gespeichert und dargestellt. Die Daten der Tabelle werden im Team (tl_team.json_data) gespeichert. Die Ausgabe kann über das Template ce_nuligadata_table.html5 angepasst werden.

Calendar Events

Die Zuordnung von Spielen einer Mannschaft zu einem Kalender erfolgt über die Einstellung im Team. Hier muss ein Kalender ausgewählt sein, damit Spiel-Termine in diesem Kalender gespeichert werden.

Bei Events, die Daten zu Spielen enthalten, werden die speziellen Felder der Palette "nuLiga" gefüllt. Diese Daten können im (Kalender- oder Detail-) Template verwendet werden. Tipp: die zur Verfügung stehenden Variablen können durch Einfügen von <?php $this->dumpTemplateVars(); ?> in das Template eingesehen werden.

About

Zugriff auf Spielpläne und Ergebnisse über die API von nuLiga

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published