commonsbooking icon indicating copy to clipboard operation
commonsbooking copied to clipboard

Filtergruppen in CB-Map umbauen

Open hansmorb opened this issue 1 year ago • 1 comments

Dokumentation (WIP): https://commonsbooking.org/wp-admin/post.php?post=2256&action=edit Was

Ersetzt die alten Filtergruppen Einstellungen für die Karte: image

Mit neuen Filtergruppen Einstellungen, die zuerst in den Vorlagen mithilfe eines repeater Fields (group bei CMB2) erstellt werden können und dann anschließend in den jeweiligen Karten Einstellungen nur eingefügt werden müssen.

image image

  • Erstellung der Vorlagen im Backend

image

  • Auswählen der vorkonfigurierten Filtergruppen für die jeweilige Karte in den Karteneinstellungen

Was dann anschließend auf der Karte so aussieht:

image

Das vorher existierende Funktion für Custom Markup für die individuellen Kategorien fällt weg.

Warum Es existierte keine Dokumentation zu den alten Filtergruppen und ich habe die persönlich nie zum Laufen bekommen. Darüber hinaus hat das neue CB-Frontend die Möglichkeit zwischen exklusiven (wie z.B. elektrisch / nicht-elektrisch) und nicht-exklusiven Filtern (z.B. Regenverdeck / Kindersitz) zu entscheiden, das wird hiermit einstellbar.

Wie

  • Das Autoloading musste angepasst werden, damit erst die Taxonomien geladen werden und dann die OptionsArray.php . Ansonsten ist es nicht möglich bei Initialisierung der Optionen auf die Taxonomien zuzugreifen.
  • Das Feld mit den Filtergruppen habe ich aus drei Gründen ausgelagert:
    1. Die Backend Einstellungen für die Karte nutzen kein CMB2, es hätte einiges an zusätzlichem manuell erstelltem JS Code gebraucht um die wiederholbaren Gruppen so zuverlässig wie in CMB2 zu gestalten.
    2. Bei mehreren Karten sparen sich die Nutzenden damit die Arbeit die Filtergruppen mehrfach anzulegen
    3. Wir können so später einfacher neue Funktionen für die Filtergruppen einbauen wie z.B. die Filterung nach bestimmten Postmeta werten

Was kann noch getan werden

  • [x] Eine gute Möglichkeit finden, wie trotzdem custom markup wie z.B. FA Icons zu den Kategorien hinzugefügt werden können. (Siehe Bild:

image )

  1. Lösung Taxonomie-Metafeld
    • Icon Metafeld den Taxonomien hinzufügen, z.B. mithilfe von Font Awesome https://github.com/serkanalgur/cmb2-field-faiconselect (am komfortabelsten). Nachteil: Relativ viel Implementierung für eine winzige Funktion.
  2. Lösung Karteneinstellung - Feld in den Karteneinstellungen, in dem für jede Kategorie ein alternativer Namen mit beschränkter HTML Funktionalität angegeben werden kann. Die Kategorien müssen dann immer noch Filtergruppen zugewiesen werden aber wenn verfügbar wird das Custom Markup aus den Karteneinstellungen geladen. Nachteil: Für jede Karte müsste das Markup manuell konfiguriert werden 3. Lösung Template Einstellungen - Global über den "Vorlagen" Tab das Markup der Taxonomien konfigurieren. Nachteil: Wieder eine weitere Einstellung die eigentlich nur die Karte betrifft tief in den Einstellungen verborgen.

EDIT: Option 1 ohne Font-Awesome Plugin (hab es nicht zum laufen bekommen)

  • [x] Herausfinden, ob das zuweisen von einer Kategorie zu mehreren Filtergruppen Probleme bereiten kann (ist mit CMB2 Einstellung möglich). Das Mehrfachzuweisen zu unterbinden wäre wahrscheinlich mit viel JS Code verbunden.

    • Es passiert nix sonderlich wildes, ergibt nur nicht so viel Sinn.
  • [x] Rückwärskompatibel mit alten Filtergruppen machen -> nicht automatisch andere Filtergruppen kaputt machen

closes #1208

hansmorb avatar Nov 11 '23 23:11 hansmorb