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.

Minimalwert und Maximalwert an Bedingungen knüpfen

Mehr
1 Jahr 11 Monate her #8806 von volkerkram
Hallo,
ich bin seit zwei Wochen mit Visforms unterwegs und benötige die Komponente für die Anmeldung bei Sportveranstaltungen - also genau das, was Ihr als Beispiel auf Eurer Homepage zeigt ([url] www.vi-solutions.de/de/demo-meldeformular-sportveranstaltung [/url]).
Was mir hier fehlt im Vergleich zu meiner alten Lösung mit FormMaker ist die Einschränkung des Jahrgangsbereichs je nach Disziplin. Beispiele:
  • "Halbmarathon" angekreuzt = nur Jahrgänge 1900 - 2007 erlaubt
  • "10 km" angekreuzt = nur Jahrgänge 1900 - 2009 erlaubt
  • "Bambinilauf" angekreuzt = nur Jahrgänge 2016 - 2020 erlaubt
Daher die Frage, ob so etwas möglich ist bei Visforms?

Mehr
1 Jahr 11 Monate her - 1 Jahr 11 Monate her #8815 von Administrator IV
Administrator IV antwortete auf Minimalwert und Maximalwert an Bedingungen knüpfen
Hallo Volker,

leider ist es in Visforms nicht durch direkte Konfiguration möglich.

Es ist möglich unter Verwendung eines SQL-Felds.
SQL-Felder mit Optionenlisten:
docs.joomla-4.visforms.vi-solutions.de/d...ds-with-option-list/

Dort kann ein eigenes SQL-Statement zur Ermittlung der Optionenliste verwendet werden:
Reiter 'Grundeinstellungen', Option 'SQL-Select-Statement'.

Im SQL-Statement kann auf die aktuellen Werte anderer Formular-Felder zugegriffen werden:
${input:fieldname}

Es kann konfiguriert werden, bei welchen Feldern bei Änderung durch den Benutzer, das SQL-Feld, basierend den geänderten Werten, neu gefüllt werden soll:
Reiter 'Grundeinstellungen', Option 'Bei Änderung von nachladen'.

Bei dir eignet sich der Feld-Typ 'Select SQL'.

Ich habe dir ein lauffähiges Beispiel mit exakt deinen drei Anforderungen erstellt.

Feld 1 - Normales Listbox-Feld zur Auswahl der Veranstaltung:
Label = select-event
Name = select-event
Options-Werte = event-1, event-2, event-3

Feld 2 - 'Select SQL' Listbox-Feld zur Auswahl des Jahrgangs:
Label = sql-select-year
Name = sql-select-year

Auswahl der verschiedenen Events (Feld 'select-event') mit unterschiedlichen Jahrgängen (Feld 'sql-select-year'):
vi-solutions.de/forum-uploads/form-selec...nt-years_event-1.png
vi-solutions.de/forum-uploads/form-selec...nt-years_event-2.png
vi-solutions.de/forum-uploads/form-selec...nt-years_event-3.png

Das SQL-Statement in der Konfiguration:
(Zeilenumbrüche sind nicht möglich, außer an ganz wenigen Stellen)
Code:
SELECT @row := @row + 1 AS value, @row as label FROM #__finder_links_terms, (SELECT @row:=1899 where 'event-1' in ${input:select-event} union SELECT @row:=1899 where 'event-2' in ${input:select-event} union SELECT @row:=2015 where 'event-3' in ${input:select-event}) n where ((not @row > 2006) and 'event-1' in ${input:select-event} or (not @row > 2008) and 'event-2' in ${input:select-event} or (not @row > 2019) and 'event-3' in ${input:select-event});


Das SQL-Statement mit Zeilenumbrüchen zur besseren Lesbarkeit:
Code:
SELECT @row := @row + 1 AS value, @row as label FROM #__finder_links_terms, (SELECT @row:=1899 where 'event-1' in ${input:select-event} union SELECT @row:=1899 where 'event-2' in ${input:select-event} union SELECT @row:=2015 where 'event-3' in ${input:select-event}) n where ( (not @row > 2006) and 'event-1' in ${input:select-event} or (not @row > 2008) and 'event-2' in ${input:select-event} or (not @row > 2019) and 'event-3' in ${input:select-event} );


Hinweis zu Lösung:
Die Tabelle '#__finder_links_terms' wurde nur deshalb gewählt, weil sie ausreichend Datensätze beinhaltet.
Das sind bei mir knapp 2000.
Die konkrete Tabelle ist nicht wichtig.
Sie muss nur mindestens so viele Datensätze enthalten, wie die Zahlenfolge lang sein soll.

Erweiterbarkeit:
Das SQL-Beispiel setzt 3 Events mit deinen Jahrgangs-Vorgaben um.
Es ist von seiner Arbeitsweise weitgehend selbsterklärend und in seiner Struktur erweiterbar.

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.

Mehr
1 Jahr 11 Monate her #8821 von volkerkram
Vielen Dank erst mal - muss ich mir bei Gelegenheit in Ruhe ansehen.

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum