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.

Filterfeld im Frontend für Textfelder

More
10 months 2 weeks ago #9434 by dietersteinmetz
Filterfeld im Frontend für Textfelder was created by dietersteinmetz
Hallo Visforms Experten,

bei Dropdown Feldern (select) kann ich einstellen, dass ich im Frontend Suchwerkzeuge und damit Filter bekomme.
Dazu verwende ich "Filter field" und "yes" in "advanced" bei Type "select".

Kann ich Textfelder auch filtern? Ich ziehe den Wert des Textfeldes aus dem Namen des Benutzers (erster Buchstabe). Also nur konkrete Werte.
Jetzt möchte ich im Frontend filtern. Geht das?

mfg
Dieter Steinmetz

More
10 months 2 weeks ago #9435 by Administrator AV
Replied by Administrator AV on topic Filterfeld im Frontend für Textfelder
Hallo Dieter,
das geht leider nicht.
Da Textfelder per Definition beliebige freie Texte enthalten können, eignen sich diese normalerweise nicht um daraus eine Filter-Listbox zu erzeugen.

Was genau möchtest du denn ereichen?

Wenn du in dem Textfeld den Benutzernamen (den Joomla Benutzer Namen) verwendest, dann könntest du vielleicht statt eines Textfeldes ein Feld vom Typ SelectSQL verwenden.
docs.joomla-4.visforms.vi-solutions.de/d...ds-with-option-list/
Da diese vom Typ her Listboxen (Dropdown) sind, kann man sie auch als Suchfilter verwenden.

Herzliche Grüße,
Aicha

: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 :-).

More
10 months 2 weeks ago #9438 by dietersteinmetz
Replied by dietersteinmetz on topic Filterfeld im Frontend für Textfelder
Ich brauche ein Feld, das aus dem Benutzername einen Buchstaben herausholt und anschließend möchte ich das im Frontend filtern. Konkret unsere Benutzernamen haben als ersten Buchstaben das Stockwerk. Mit Hilfe von Select SQL kann ich das ermitteln.

Daher habe ich ein Textfeld genommen, das mit Select SQL den ersten Buchstaben aus dem Benutzername herausholt. Und als Standardwert einträgt. Aber jetzt weiß ich, dass ich Textfelder nicht filtern kann.

Vielleicht anders herum? Kann ich ein Select Feld (Dropdown Feld) nehmen und mit SQL aus dem Benutzername den ersten Buchstaben als Standardwert bekommen?
(Neue Frage, soll ich neuen Thread aufmachen?)

mfg
Dieter

More
10 months 2 weeks ago - 10 months 1 week ago #9441 by Administrator AV
Replied by Administrator AV on topic Filterfeld im Frontend für Textfelder
Hallo Dieter,

Es geht ja nach wie vor darum eine Lösung auf dieselbe Frage zu finden.
Somit ist ein Thema passend.
Also kein neues Thema.

In einem Select-Feld kannst du in der Feldkonfiguration immer nur eine Option fest als Default-Wert festlegen.
Wenn du, abhängig vom angemeldeten Benutzer immer eine andere Option als Default gewählt haben willst, dann geht das eigentlich nur mit eine Custom Plugin.
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Mein Vorschlag war, dass du den Feldtyp SelectSQL verwendest.
Dort kannst du die Optionen der Listbox dynamisch mit Hilfe eines SQL Statements erzeugen.
Du kannst in diesem SQL Statement Informationen des aktuellen Benutzers verwenden.
Damit kannst du aus der Datenbank den Benutzernamen des aktuellen Benutzers extrahieren und den ersten Buchstaben davon als Optionswert verwenden.

Das SQL Statement sieht so aus:
Code:
select SUBSTRING(username,1,1) as label, SUBSTRING(username,1,1) as value from #__users where id = ${user:id}

Ein kleines Problem mit diesem Vorgehen kann es geben, wenn Administratoren im Frontend die übermittelten Daten bearbeiten können.
In diesem Fall ist dann der angemeldete Benutzer der Administrator und das SQL würde dann mit der falschen Benutzerid ausgeführt.
Aber solange du ein Daten Bearbeiten nicht brauchst, oder jeder nur seine eigenen Datensätze bearbeiten kann, funktioniert der Ansatz.

Herzliche Grüße,
Aicha

: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 :-).
Last edit: 10 months 1 week ago by Administrator IV.

More
10 months 2 weeks ago #9444 by dietersteinmetz
Replied by dietersteinmetz on topic Filterfeld im Frontend für Textfelder
Vielen Dank Aicha,

einen Schritt weiter. Problem ist noch, dass für die Erstellung des Datensatzes und für den Filter die gleiche SQL Abfrage verwendet wird.

Richtig, wenn ein Benutzer einen neuen Datensatz erstellt wir der erste Buchstabe in den Namen eingetragen.

Leider funktioniert der Filter im Frontend auch so. Es wird der erste Buchstabe des Namens genommen und der Benutzer kann nur nach seinem Buchstaben filtern.

In meinem Fall wird das Stockwerk aus dem Namen das Feld eingetragen, aber im Frontend kann der Benutzer auch nur nach seinem Stockwerk filtern. Er kann nicht nach anderen Stockwerken filtern, Zugang hätte er.

Gibt es da eine Lösung?

Mit freundlichen Grüßen
Dieter

More
10 months 2 weeks ago - 10 months 1 week ago #9453 by Administrator AV
Replied by Administrator AV on topic Filterfeld im Frontend für Textfelder
Hallo Dieter,

die Aussage 'dass für die Erstellung des Datensatzes und für den Filter die gleiche SQL Abfrage verwendet wird' ist nicht korrekt.
Das sieht für dich nur so aus.

Bei einem Feld vom Typ SelectSQL werden in der Filter-Listbox alle Werte zur Auswahl angezeigt, für die es einen Datensatz gibt.
Werte, zu denen es keinen Datensatz gibt, erscheinen nicht in der Filter-Listbox.
Aber wenn man so einen Wert auswählen könnte, dann würden ja auch 0 Datensätze gefunden.

Du hast vermutlich bei deinem Test nur Datensätze mit einem Benutzer übertragen.
Deshalb hat dein SelectSQL Feld in allen übermittelten Datensätzen denselben Wert.
Und das sieht für dich so aus, als würde 'für die Erstellung des Datensatzes und für den Filter die gleiche SQL Abfrage verwendet'.

Herzliche Grüße,
Aicha

 

: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 :-).
Last edit: 10 months 1 week ago by Administrator IV.
The following user(s) said Thank You: dietersteinmetz

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum