Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

Important information for almost every question:
V1: Which Visforms version is running?
V2: Which Joomla version is running?
V3: Which PHP version is running?

Minimalwert und Maximalwert an Bedingungen knüpfen

More
2 years 6 months ago #8806 by 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?

More
2 years 6 months ago - 2 years 6 months ago #8815 by Administrator IV
Replied by Administrator IV on topic 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 5:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 4.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 5:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 4.
Bitte immer nur 1 Frage pro Thema stellen :-).
Last edit: 2 years 6 months ago by Administrator IV.

More
2 years 6 months ago #8821 by volkerkram
Vielen Dank erst mal - muss ich mir bei Gelegenheit in Ruhe ansehen.

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum