Event Filterung (Tags/Kategorien): Anregungen und Meinungen
Hallo,
ich möchte das Feature Filterung von Events in meine Erweiterung einzubauen.
Jetzt stellt sich die Frage, welcher Lösungsansatz der richte, bzw. der bessere ist. Über folgende Varianten habe ich bisher nachgedacht.
Für beide Varianten sollen alle Tags/Kategorien in einer separaten Tabelle gespeichert und mit dem Event verknüpft werden. Das ermöglicht das Anbieten vorhandener Tags/Kategorien bei neuen Events.
1) Filterung im Event-Modul
Hier stelle ich mir vor, dass das Modul die Tags/Kategorien aus der Tabelle liest, und diese zur Auswahl anbietet. Events werden dann nach den aktivierten Tags/Kategorien gefiltert. Hier sehe ich den Nachteil, dass man für jede Auswahl ein Ausgabe-Modul anlegen muss.
2) Filterung im FE via jQuery
Hier stelle ich mir vor, dass jedes Event seine Tags/Kategorien in einem Attribute (z.B.: data-filter="<json-format>") erhält, und die Events dann im FE via jQuery Skript gefiltert, sprich Ein-/Ausgeblendet werden. Hier sehe ich den Vorteil, dass sich jeder seine eigenen Funktionen zur Filterung erstellen kann. Beispiel: https://www.vrn.de/tickets/ticketuebersicht/index.html
Jetzt würde mich eure Meinung interessieren. Welche Variante würdet ihr besser finden? Habt ihr weitere Varianten?
Vielen Dank
Gruß Kester
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
erste Version der Filterung ist in der aktuellen Version enthalten. Im Listenmodul für Events wird ganz unten eine Filterung angeboten, die konfigurierbar ist. Als Standard werden dort alle Felder aus der Tabelle tl_calendar_events gelistet. Das kann über einen Array in der config.php angepasst werden.
Anhang 20176
PHP-Code:
// Event Filter
$GLOBALS['TL_CONFIG']['tl_calendar_events']['filter']['title'] = '';
$GLOBALS['TL_CONFIG']['tl_calendar_events']['filter']['location_name'] = '';
$GLOBALS['TL_CONFIG']['tl_calendar_events']['filter']['location_str'] = '';
$GLOBALS['TL_CONFIG']['tl_calendar_events']['filter']['location_plz'] = '';
Das ganze fügt dem Eventeintrag in der Ausgabe ein Attribute data-filter hinzu. Jetzt muss im FE nur noch das entsprechende jQuery/JS gebaut werden, dass die Events filtert. Man kann also schon mal damit rumspielen.
Anhang 20177
Gruß Kester