schachbulle / contao-chessresults-bundle
Inhaltselement, das Turniertabellen von chess-results.com in die eigene Seite einbindet.
Package info
github.com/Samson1964/contao-chessresults-bundle
Type:contao-bundle
pkg:composer/schachbulle/contao-chessresults-bundle
Requires
- php: ^7.4 || ^8.0
- ext-dom: *
- ext-libxml: *
- contao/core-bundle: ^4.13 || ^5.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- phpunit/phpunit: ^9.6 || ^10.5
Suggests
None
Provides
None
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
Replaces
None
README
Das Bundle stellt ein Inhaltselement zur Verfügung, um Turniertabellen von https://chess-results.com in eine Contao-Seite einzubinden.
Voraussetzungen
- Contao 4.13 oder Contao 5
- PHP 7.4 bis 8.4
- Die PHP-Erweiterungen
domundlibxml(in jeder üblichen Installation vorhanden)
Installation
composer require schachbulle/contao-chessresults-bundle
Verwendung
Im Seitenlayout ein Inhaltselement der Gruppe Schach-Elemente vom Typ Chess-Results anlegen und ausfüllen:
| Feld | Bedeutung |
|---|---|
| Turnier-ID ChessResults | Die Nummer aus der Adresse des Turniers, also 1488906 bei chess-results.com/tnr1488906.aspx |
| Turnierart | Derzeit nur „Schweizer System" |
| Liste | Welche der Listen von ChessResults gezeigt wird (Teilnehmerliste, Rangliste, Fortschrittstabelle, Paarungen) |
| Spalten einblenden | Nur diese Spalten werden ausgegeben, sofern die gewählte Liste sie enthält |
| Runde | Nummer der Runde, nötig bei „Rangliste" und „Paarungen/Ergebnisse" |
| Cache | Wie lange die Daten in Sekunden aufbewahrt werden, bevor neu bei ChessResults angefragt wird |
| Live-Abfrage | Aktiviert die Abfrage bei ChessResults; ohne sie wird ausschließlich der Zwischenspeicher gezeigt |
Zwischenspeicher
Die von ChessResults geholten Daten liegen im Datensatz des Inhaltselements
selbst (Feld chessresults_cacheStorage). Ein Seitenaufruf löst nur dann eine
Abfrage aus, wenn
- noch nichts gespeichert ist,
- die Cachezeit abgelaufen ist und die Live-Abfrage aktiv ist, oder
- die Einstellungen des Elements auf eine andere Liste zeigen als die gespeicherten Daten — nach einem Wechsel von Turnier, Liste oder Runde wird der Zwischenspeicher also selbsttätig verworfen.
Ist ChessResults nicht erreichbar, bleibt der vorhandene Zwischenspeicher stehen und wird weiter angezeigt, statt die Tabelle leer zu räumen.
Anzeige des Aktualisierungsdatums
Unter der Tabelle steht der Zeitpunkt, den ChessResults selbst als „zuletzt aktualisiert" meldet — nicht der Zeitpunkt der eigenen Abfrage. Nur wenn ChessResults keine solche Angabe liefert, tritt der Zeitpunkt der Abfrage an seine Stelle.
Templates
| Template | Zweck |
|---|---|
ce_chessresults |
Normale Ausgabe |
ce_chessresults_debug |
Zusätzlich die Rohdaten und die Debug-Werte |
Tests
composer install
vendor/bin/phpunit
Frank Hoppe