2.9 KiB
2.9 KiB
filtered-eventsexport-bundle
Contao 5.7 Bundle für eine gefilterte Eventliste mit PDF-Export.
Funktionen
- Frontend-Modul
filtered_eventsexport_eventlist(Kategorieevents) - Zwei-Spalten-Layout im Frontend (links Filter/Export, rechts Eventliste)
- Filter über:
- Event-Archive (Checkboxen, Multi-Select)
- Date-Range
fromundto(YYYY-MM-DD)
- Auto-Filter ohne separaten Submit-Button (bei Datums- oder Archivänderung)
- Flatpickr via CDN (Dark Theme) mit Clear-Button pro Datumsfeld
- Ausgabe nur erlaubter Archive/Events gemäß Archivschutz
- CSS-Klassen pro Event im Markup:
pid-<id>is-featured(wenn Event im Backend hervorgehoben)
- PDF-Export ausgewählter Events über
/events/pdf - Optionale PDF-Felder:
- Überschrift
- Einleitungstext
Anforderungen
- PHP
^8.4 contao/core-bundle ^5.7contao/calendar-bundle ^5.7dompdf/dompdf ^3.1
Installation im Hauptprojekt
Das Bundle wird als path-Repository eingebunden und im Hauptprojekt per Composer installiert.
Modul-Konfiguration
Backend-Modultyp:
gefilterte Eventliste(filtered_eventsexport_eventlist)
Einstellungen:
cal_calendar(Mehrfachauswahl)
Hinweis zur Archivfilter-Vorauswahl:
- Erstaufruf: alle erlaubten Archive sind vorausgewählt
- Bewusst alle Archive abgewählt: es werden keine Events angezeigt (
Keine Termine gefunden.)
PDF-Export
Route:
POST /events/pdf
POST-Felder:
event_ids[](Pflicht)from(optional)to(optional)pdf_heading(optional)pdf_intro(optional)
PDF-Inhalt:
- Logo oben rechts (nur erste Seite)
- Überschrift (optional überschreibbar)
- Einleitungstext (optional)
- Datumsbereich (falls gesetzt)
- Eventzeilen mit Contao-Zeitlogik (
addTime,startDate/endDate,startTime/endTime) - Datum/Uhrzeit in Dunkelgrau und kursiv
Berechtigungslogik (Archive)
- Nicht eingeloggte Nutzer sehen nur ungeschützte Event-Archive.
- Eingeloggte
tl_membersehen zusätzlich geschützte Archive, wenn ihre Mitgliedsgruppen in den Archivgruppen enthalten sind. - Diese Logik gilt sowohl für den Archiv-Filter als auch für die Eventliste.
Aktive Struktur (final)
contao/config/modules.phpcontao/dca/tl_module.phpcontao/languages/de/modules.phpcontao/languages/en/modules.phpcontao/templates/frontend/module_event_list.html.twigsrc/Contao/Manager/Plugin.phpsrc/Controller/EventListModuleController.phpsrc/Controller/EventPdfController.phpsrc/DependencyInjection/FilteredEventsExportExtension.phpsrc/Resources/config/routes.yamlsrc/Resources/contao/config/services.yamlResources/views/frontend/module_event_list.html.twigResources/views/pdf/events.html.twigResources/img/2022_06_26_Gymnasium_Nossen_Siegel_schwarz.svg
Hinweise
- Die primären Twig-Dateien für das Runtime-Rendering liegen unter
Resources/views/.... - Nach Änderungen:
cache:clearausführen.