Download the PHP package schachbulle/contao-timelinejs-bundle without Composer
On this page you can find all versions of the php package schachbulle/contao-timelinejs-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download schachbulle/contao-timelinejs-bundle
More information about schachbulle/contao-timelinejs-bundle
Files in schachbulle/contao-timelinejs-bundle
Package contao-timelinejs-bundle
Short Description Bindet die Zeitleisten-Bibliothek TimelineJS als Inhaltselement und Frontend-Modul in Contao ein.
License LGPL-3.0-or-later
Homepage https://github.com/Samson1964/contao-timeline-bundle
Informations about the package contao-timelinejs-bundle
Contao Timeline Bundle
Bindet die Zeitleisten-Bibliothek TimelineJS 3 als Inhaltselement und als Frontend-Modul in Contao ein. Die Stationen werden im Backend gepflegt; die Zeitleiste wird im Browser aus einer nachgeladenen JSON-Datei aufgebaut.
Läuft unter Contao 4.13 und Contao 5.7.
Herkunft
Das Bundle beruht auf netzmacht/contao-timelinejs von David Molineus. Von dort stammen das Datenmodell, der Aufbau der Zeitleiste und die Datencontainer. Übernommen wurden außerdem die dort verwendeten Teile von netzmacht/contao-toolkit — allerdings nicht als Abhängigkeit, sondern in modernisierter Form unmittelbar im Bundle, sodass keine Bindung an fremde Veröffentlichungszyklen besteht.
Die Feldliste der Datencontainer ist unverändert geblieben. Wer bereits mit netzmacht/contao-timelinejs gearbeitet hat, findet seine Daten wieder.
Installation
Anschließend die Datenbank aktualisieren:
Verwendung
- Im Backend unter Inhalte → Zeitstrahlen einen Zeitstrahl anlegen.
- Zu diesem Zeitstrahl Einträge erfassen. Drei Arten stehen zur Wahl:
- Ereignis — eine Station der Zeitleiste, mit Beginn und wahlweise Ende
- Titel — die Titelfolie, die ohne Zeitbezug vorweg erscheint
- Zeitabschnitt — ein farbig hinterlegter Balken über mehrere Stationen
- Im Artikel ein Inhaltselement Zeitstrahl einfügen oder im Seitenlayout ein Frontend-Modul gleichen Namens einbinden und den Zeitstrahl auswählen.
Datumsangaben
Erwartet wird Y-m-d H:i:s.u, wobei von rechts her alles entfallen darf.
Ebenso angenommen wird die durch Kommas getrennte Schreibweise aus
TimelineJS 2 (JJJJ,MM,TT), wie sie in gewachsenen Beständen vorkommt.
Zulässig sind damit unter anderem:
| Eingabe | Bedeutung |
|---|---|
1291 |
das Jahr 1291 |
1848-03 |
März 1848 |
2024-05-17 |
17. Mai 2024 |
2024-05-17 14:30 |
17. Mai 2024, 14:30 Uhr |
-753-04-21 |
21. April 753 v. Chr. |
1922,05,14 |
14. Mai 1922 |
1912,07 |
Juli 1912 |
Soll statt des Datums eine eigene Beschriftung erscheinen — etwa „Frühjahr 1848“ —, wird diese im Feld Anzeige hinterlegt.
Zwischenspeicher
Eine aufgebaute Zeitleiste wird im Anwendungs-Zwischenspeicher von Symfony
abgelegt. Beim Speichern im Backend wird sie von selbst verworfen. Wird eine
Zeitleiste aus einer eigenen Datenquelle gespeist, deren Daten sich außerhalb
von Contao ändern, hilft der Eintrag Zeitstrahl-Cache leeren im
Wartungsmodul. Im Entwicklungsbetrieb (APP_ENV=dev) wird nichts
zwischengespeichert.
Erweiterung durch eigenen Code
Der Aufbau einer Zeitleiste läuft über Symfony-Ereignisse. Wer eigene Stationen
beisteuern will — etwa aus einer Terminverwaltung —, hängt sich in
BuildTimelineEvent ein und trägt zugleich seine Kennung in den Parameter
schachbulle_timeline.data_sources ein. Am Zeitstrahl lässt sich die
Datenquelle dann im Feld Datenquelle auswählen.
| Ereignis | Zweck |
|---|---|
BuildTimelineEvent |
Stationen und Zeitabschnitte zur Zeitleiste hinzufügen |
BuildEntryEvent |
den Aufbau eines einzelnen Eintrags übernehmen oder ändern |
BuildTimelineOptionsEvent |
Einstellungen von TimelineJS anpassen |
BuildSourceUrlEvent |
der Adresse der JSON-Datei Parameter mitgeben |
GetCacheKeyEvent |
den Schlüssel im Zwischenspeicher erweitern |
Der letzte Punkt ist wichtig, sobald eine Zeitleiste je nach Besucher unterschiedlich ausfällt: ohne Erweiterung des Schlüssels bekämen alle die Fassung zu sehen, die zuerst erzeugt wurde.
Templates
| Template | Zweck |
|---|---|
ce_timelinejs.html5 |
Inhaltselement |
mod_timelinejs.html5 |
Frontend-Modul |
timelinejs_timeline.html5 |
gemeinsame Ausgabe, von beiden eingebunden |
Die Einstellungen werden dem Container als Attribut mitgegeben und von der
mitgelieferten Datei timelinejs-init.js ausgewertet. Ein eingebettetes Skript
wird bewusst vermieden, damit die Ausgabe auch unter der Content-Security-Policy
von Contao 5 funktioniert.
Lizenz
LGPL-3.0-or-later. TimelineJS selbst steht unter der Mozilla Public License 2.0,
siehe src/Resources/public/timelinejs/.
All versions of contao-timelinejs-bundle with dependencies
ext-json Version *
contao/core-bundle Version ^4.13 || ^5.3
contao-community-alliance/meta-palettes Version ^2.1
menatwork/contao-multicolumnwizard-bundle Version ^3.6
psr/cache Version ^1.0 || ^2.0 || ^3.0
psr/log Version ^1.1 || ^2.0 || ^3.0
symfony/asset Version ^5.4 || ^6.0 || ^7.0
symfony/config Version ^5.4 || ^6.0 || ^7.0
symfony/dependency-injection Version ^5.4 || ^6.0 || ^7.0
symfony/event-dispatcher Version ^5.4 || ^6.0 || ^7.0
symfony/event-dispatcher-contracts Version ^2.0 || ^3.0
symfony/filesystem Version ^5.4 || ^6.0 || ^7.0
symfony/http-foundation Version ^5.4 || ^6.0 || ^7.0
symfony/http-kernel Version ^5.4 || ^6.0 || ^7.0
symfony/routing Version ^5.4 || ^6.0 || ^7.0