Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filtergruppen in CB-Map umbauen #1409

Closed
wants to merge 23 commits into from
Closed

Conversation

hansmorb
Copy link
Contributor

@hansmorb hansmorb commented Nov 11, 2023

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

  • 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
  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)

  • 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.
  • Rückwärskompatibel mit alten Filtergruppen machen -> nicht automatisch andere Filtergruppen kaputt machen

closes #1208

Copy link

codecov bot commented Nov 11, 2023

Codecov Report

Attention: 55 lines in your changes are missing coverage. Please review.

Comparison is base (2476bd3) 43.14% compared to head (9587843) 43.04%.

Files Patch % Lines
src/Map/MapData.php 0.00% 24 Missing ⚠️
src/Plugin.php 5.26% 18 Missing ⚠️
src/Map/MapAdmin.php 25.00% 12 Missing ⚠️
src/Repository/BookablePost.php 87.50% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #1409      +/-   ##
============================================
- Coverage     43.14%   43.04%   -0.10%     
- Complexity     2384     2388       +4     
============================================
  Files            91       91              
  Lines          9462     9492      +30     
============================================
+ Hits           4082     4086       +4     
- Misses         5380     5406      +26     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@hansmorb hansmorb marked this pull request as ready for review November 13, 2023 17:25
@hansmorb hansmorb marked this pull request as draft November 13, 2023 21:31
@hansmorb hansmorb marked this pull request as ready for review November 15, 2023 04:21
@hansmorb hansmorb added enhancement New feature or request frontend php Pull requests that update Php code labels Nov 16, 2023
@hansmorb hansmorb linked an issue Nov 18, 2023 that may be closed by this pull request
# Conflicts:
#	src/Map/MapShortcode.php
#	tests/cypress/wordpress-files/content-example.xml
# Conflicts:
#	tests/cypress/wordpress-files/content-example.xml
@hansmorb hansmorb added this to the Heavy User Funktionen milestone Feb 16, 2024
# Conflicts:
#	src/Plugin.php
#	src/Wordpress/CustomPostType/CustomPostType.php
@hansmorb hansmorb mentioned this pull request Feb 18, 2024
3 tasks
@hansmorb hansmorb removed this from the Heavy User Funktionen milestone Feb 25, 2024
@hansmorb hansmorb marked this pull request as draft June 5, 2024 13:43
@hansmorb hansmorb mentioned this pull request Jun 5, 2024
3 tasks
@hansmorb hansmorb closed this Jun 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request frontend php Pull requests that update Php code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Filtergruppe für Karte Metadaten für Kartenfilter
1 participant