Joomla 5 Mitteilung

Wir freuen uns mitteilen zu können, dass seit dem 29. Januar 2024 alle unsere Joomla Erweiterungen mit Joomla 5 kompatible sind.

Für alle die gerade noch von Joomla 3 auf 4 aktualisieren: Anleitungen für die Joomla 4 Migration gibt es hier:

Es gibt nun auch eine eigenständige Dokumentation für Visforms für Joomla 4 und für Visforms auf Joomla 5

Forum

Visforms Subscription Inhaber können in unserem Forum Fragen stellen. Bitte mit dem entsprechenden Benutzer anmelden.
Jeder kann lesend auf das Forum zugreifen.

Bitte stellen Sie nur 1 Frage pro Thema.

Wichtig Angaben für fast jede Frage:
V1: Welche Visforms-Version läuft?
V2: Welche Joomla-Version läuft?
V3: Welche PHP-Version läuft?

Aufgrund von Feiertagen und Urlaub ist bei Anfragen im Forum in der Zeit vom 20. Dezember 2024 bis zum 8.Januar 2025 mit verlängerten Antwortzeiten zu rechnen.

Listbox - Mehrfachselektion - durchsuchbar

  • eduard.gradl@reg-mfr.bayern.de
  • Autor
  • Offline
Mehr
1 Jahr 11 Monate her - 1 Jahr 11 Monate her #8726 von eduard.gradl@reg-mfr.bayern.de
Listbox - Mehrfachselektion - durchsuchbar wurde erstellt von eduard.gradl@reg-mfr.bayern.de
Bei Auswahl des Feldtypen "Listbox" kann man durch Anhaken von "Mehrfachselektion erlauben" und "Suchfeld" ein Verhalten des Feldes erreichen, wie man es z. B. bei der Schlagwörtereingabe bei den Beiträgen findet.
Nun hat das Feld aber die Eigenschaft, dass bei mehrfacher Auswahl nicht das erste ausgewählte Item an erste Stelle gesetzt wird, sondern das vorderste Item der Optionsliste.
Beispiel: Das Feld hat als Optionen die Zahlen 1, 2 und 3. Zuerst wird die 2 ausgewählt, dann die drei und als letztes die 1. Als Ergebnis steht nun im Eingabefeld aber nicht 2, 3, 1, sondern 1, 2, 3.
Kann diese Verhalten irgendwie geändert werden, dass in dem Feld auch die Reihenfolge der Optionsauswahl berücksichtigt wird, wie es z. B. bei choices-js.github.io/Choices der Fall ist?
Das wäre für unsere Anforderung sehr wichtig, da die Reihenfolge der gewählten Optionen ebenso wichtig ist wie die ausgewählten Optionen selbst.

Desweiteren ist es bei einer sql-Listbox nicht möglich, diese auch als "durchsuchbar" zu markieren. Gerade bei einer Mehrfachselektion wäre das für die Benutzer sehr komfortabel, da die Darstellung als reine Listbox mit der Mehrfachselektionsmöglichkeit einzig durch die Kombination von STRG-Taste und Mausklick sehr unkomfortabel ist.

Danke für die Hilfe!
Letzte Änderung: 1 Jahr 11 Monate her von eduard.gradl@reg-mfr.bayern.de.

Mehr
1 Jahr 11 Monate her #8730 von Administrator IV
Administrator IV antwortete auf Listbox - Mehrfachselektion - durchsuchbar
Hallo Eduard,

wir verwenden im Frontend zur Anzeige der Listboxen mit 'Durchsuchbar' die Bibliothek 'Select2'.
Select2 unterstützt die Reihenfolge der ausgewählten Optionen nach der Reihenfolge der Auswahl leider nicht.

Es geht bei der Integration einer Bibliothek nicht nur um eine einfache Anzeige, sondern vor allem
- um die Anzeige mit gänzlich unterschiedlichen UI-Frameworks und
- das Funktionieren mit weiteren Visforms-Optionen, etwa die 'Bedingte Anzeige' oder den 'Reload'.

Chosen und Choices werden wir auch in Zukunft nicht in Visforms integrieren.
Choices hat sich übrigens bei einem Kundenprojekt als äußerst unhandlich (Funktion und Darstellung) und im Detail als eher schlecht bis gar nicht mehr Dokumentiert herausgestellt.

Es gibt aber einen Workaround für dich für beide Fragen.
Der Workaround hat bei mir mit 'Ui Framework' = 'Bootstrap 5' und 'Sublayout' = 'Horizontal' im Test sehr gut funktioniert.

Das Formular mit den beiden Feldern 'sql-6' (Listbox Sql) und 'select-1' (Listbox):
vi-solutions.de/forum-uploads/searchable...elect-order_form.png

Mehrfachselektion in Auswahlreihenfolge, Feld 'select-1' (Listbox):
Der folgende JavaScript Code-Schnipsel erhält die Reihenfolge der Auswahl wie von dir gewünscht.
Der Code ändert gleichzeitig auch die aktuelle Reihenfolge der Optionen in der Optionsliste.
Damit bleibt die Reihenfolge der Auswahl bis hinein in die Datenbank und bei der Anzeige der gespeicherten Optionen erhalten (Backend/Frontend).
Code:
jQuery(document).ready(function() {         jQuery("select").on("select2:select", function (evt) {             let element = evt.params.data.element;             let jQueryElement = jQuery(element);             let remember = this;             window.setTimeout(function () {                 if (jQuery(remember).find(":selected").length > 1) {                     let jQuerySecond = jQuery(remember).find(":selected").eq(-1);                     jQuerySecond.after(jQueryElement);                 } else {                     jQueryElement.detach();                     jQuery(remember).prepend(jQueryElement);                 }             }, 1);         }); });

Bei der nachträglichen Änderung der Daten (Backend/Frontend) allerdings funktioniert es nicht mehr.
Aber vielleicht ist das für dich nicht wichtig.

'Durchsuchbar' für SQL-Listboxen, Feld 'sql-6' (Listbox Sql):
Der folgende  JavaScript Code-Schnipsel macht auch SQL-Listboxen nachträglich durchsuchbar.
Zusätzlich bleibt auch hier die Mehrfachselektion in der Auswahlreihenfolge.
Code:
jQuery(document).ready(function () {jQuery(".bind-select2").select2({width: "computedstyle"});});

Obiger Code bindet alle SQL-Listboxen, die in der Feldkonfiguration, Reiter 'Erweitert', Gruppe 'Layout' gesetzt haben 'CSS Klasse des Feldes' = 'bind-select2':
vi-solutions.de/forum-uploads/searchable...rm-configuration.png

Eigenen Custom-JavaScript in Joomla einfügen:
Ich gehe davon aus, dass du weißt, wie du Custom-JavaScript in deine Joomla-Instanz einfügen kannst.
Dafür gibt es zahlreiche Möglichkeiten, etwa im Rahmen von Joomla oder deines Templates.

Mit Visforms geht es mit der Erstellung eines Overrides, in das du dein JavaScript einfügst:
docs.joomla-4.visforms.vi-solutions.de/d...yout-with-overrides/

Gruß, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

  • eduard.gradl@reg-mfr.bayern.de
  • Autor
  • Offline
Mehr
1 Jahr 11 Monate her #8731 von eduard.gradl@reg-mfr.bayern.de
eduard.gradl@reg-mfr.bayern.de antwortete auf Listbox - Mehrfachselektion - durchsuchbar
Hallo Ingmar,

wow, vielen Dank für den Code. Das teste ich gleich aus. Wirklich ein toller Service bei Euch.
Das mit Choices sollte nur als Beispiel dienen, dass es nicht direkt übernommen werden kann, war mir schon klar.

Herzliche Grüße und ein erfolgreiches neues Jahr!

Mehr
1 Jahr 11 Monate her - 1 Jahr 11 Monate her #8732 von Administrator IV
Administrator IV antwortete auf Listbox - Mehrfachselektion - durchsuchbar
Hallo Eduard,

vielen Dank für dein tolles Feedback, worüber ich mich sehr freue :).
Ich wünsche Dir ebenfalls ein ordentlich erfolgreiches neues Jahr!

Es ist mir nicht ganz klar, warum das Feld vom Typ 'Listbox SQL' die Option 'Durchsuchbar' nicht hat.
Ich habe dazu einen Issue zur Entwicklung für die Wunschliste angelegt:
Issue [VF-689] Forum: Listbox Sql: Add option 'searchable'

Wenn wir das neue Feature releasen, wirst du explizit über das Release hier im Thema informiert.
Vielen Dank nochmal für deine Anregung!

Gruß, Ingmar

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).
Letzte Änderung: 1 Jahr 11 Monate her von Administrator IV.

  • eduard.gradl@reg-mfr.bayern.de
  • Autor
  • Offline
Mehr
1 Jahr 11 Monate her #8733 von eduard.gradl@reg-mfr.bayern.de
eduard.gradl@reg-mfr.bayern.de antwortete auf Listbox - Mehrfachselektion - durchsuchbar
Hallo Ingmar,
ja, das war mir auch nicht klar, aber mit Deinem Workaround läuft jetzt alles so wie Du geschrieben hast. Aber dass Ihr die sql-Möglichkeiten überhaupt programmiert habt, ist wirklich toll. Ganz großes Lob!!! Dadurch kann ich mir den Inhalt der Listbox abhängig von einer vorher gemachten Eingabe variabal aus einer Tabelle ziehen.
Auch zeigt sich, wie Du geschrieben hast, dass sich die Reihenfolge der Auswahlpunkte bei einer nachträglichen Änderung (also beim erneuten Anzeigen der Listbox mit den ausgewählten Items) in die ursprünglich festgelegte Reihenfolge zurücksetzt. Sollte es dafür noch ein Workaround geben, wäre ich sehr dankbar. Falls nicht, würde ich mir anders behelfen (besonderer Hinweis darauf mit der Bitte um Nachbearbeitung).
Evtl. könnte man dann das Workaround ja in einer späteren Version als Option mit anbieten.

Nochmals herzlichen Dank!

  • eduard.gradl@reg-mfr.bayern.de
  • Autor
  • Offline
Mehr
1 Jahr 11 Monate her - 1 Jahr 11 Monate her #8734 von eduard.gradl@reg-mfr.bayern.de
eduard.gradl@reg-mfr.bayern.de antwortete auf Listbox - Mehrfachselektion - durchsuchbar
Entschuldige, nochmals ich.
Noch ein Hinweis: Dein Workaround funktioniert nur dann, wenn im Formular vor den vom Workaround betroffenen Feldern eine andere Listbox mit "Mehrfachselektion" und "Durchsuchen" eingebaut wurde. Existiert dieses zusätzliche Feld nicht, werden die sql-Listboxen als reguläre Listboxen angezeigt. Aber das Anlegen einer "leeren" Listbox mit bootstrap d-none (Anzeige unterdrücken) löst das Problem.
Wie Ihr sicher wisst, sind die Bibliotheken von chosen und choices in der Joomla-Core integriert /media/vendor/... die Verschlagwortung von Joomla verwendet z. B. choices. Aber wenn das für Visforms nichts nutzt, z. B. wegen der reload-Funktion, ist es ja nicht verwendbar. 
Letzte Änderung: 1 Jahr 11 Monate her von eduard.gradl@reg-mfr.bayern.de.

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum