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.

Datensatz ein weiteres Feld mitgeben

Mehr
2 Jahre 10 Monate her #7894 von fap
Datensatz ein weiteres Feld mitgeben wurde erstellt von fap
Hallo Visforms-Team,

ist es möglich einem Datensatz ein weiteres (unsichtbares) Feld mitzugeben, dessen Inhalt abhängig von der Dropdown-Auswahl des Elternfeldes ist? Klingt verwirrend, ist es aber garnicht.


Das konkrete Beispiel:

In einer Firma gibt es 100 Mitarbeiter und 8 Vorgesetzte. Jedem Vorgesetzten sind also 5-15 Mitarbeiter unterstellt.

Ich habe eine Listbox, welche die Mitarbeiternamen enthält.

Wenn nun ein Mitarbeiter aus diesem Feld ausgewählt ist, soll im Feld "Vorgesetzter" automatisch und "read-Only" der entsprechende Vorgesetzte mit abgespeichert werden. Bestenfalls ist das Feld nicht sichtbar, das ist aber zweirangig.

Ich könnte das über über die Listbox-Optionen Wert<>Bezeichnung (Sowas wie [ Wert: Mitarbeiter56|Vorgesetzter3 ] <> [ Bezeichnung: Mitarbeiter56 ] ) lösen, allerdings muss ich in der Ansicht "Content Plugin Data View" nach dem Feld "Vorgesetzter" filtern. Also z.B. "Zeige mir alle Datensätze von allen Mitarbeitern die dem Vorgesetzten 3 unterstellt sind"

Habt Ihr eine Idee wie man das umsetzten könnte?

Über einen Tipp würde ich mich sehr freuen.

Vielen Dank und viele Grüße

Mehr
2 Jahre 10 Monate her - 2 Jahre 10 Monate her #7896 von Administrator IV
Administrator IV antwortete auf Datensatz ein weiteres Feld mitgeben
Hallo fap,

das ist mit Visforms gut und direkt umzusetzen.
Du brauchst dazu Folgendes:

1 - Eine Listbox, welche die Mitarbeiternamen enthält.
2 - Im aller einfachsten Fall: Eine Tabelle 'MV' in der Datenbank, welche 2 Felder enthält: Mitarbeiter und Vorgesetzter.
3 - Ein Visforms Feld vom Typ 'Listbox Sql'
3 a - Es selektiert mit dem hinterlegten SQL-Statement den Vorgesetzten aus der Tabelle 'MV' für den in (1) gewählten Mitarbeiter
3 b - Der in (1) gewählte Mitarbeiter ist ein Platzhalter in dem in (3) hinterlegten SQL-Statement
3 c - In der Feldkonfiguration Reiter 'Grundeinstellungen' Folgendes einstellen:
3 c 1 - Parameter 'Reload erlauben' = 'Ja'
3 c 2 - Parameter 'Einzige Option vorauswählen' = 'Ja'
3 c 3 - Parameter 'Bei Vorauswahl verstecken' = 'Ja'
3 c 4 - Parameter 'Bei Änderung von nachladen' = Die Listbox aus (1)
3 c 5 - Parameter 'SQL-Select-Statement' = Ein passendes SQL-Statement für (3a)

Ein kleiner Hinweis 1:
Du kannst deine Lösung flexibel hinsichtlich der Datenhaltung machen, indem du das Folgende machst:
4 - Eine Tabelle Mitarbeiter mit den Feldern ID und Name
5 - Eine Tabelle Vorgesetzter mit den Feldern ID und Name
6 - Eine Link-Tabelle für die Tabellen Mitarbeiter und Vorgesetzter mit den beiden Feldern ID_MA und ID_VG

Noch ein kleiner Hinweis 2:
Grundsätzlich kannst du die Listbox aus (1) ebenfalls als ein Visforms Feld vom Typ 'Listbox Sql' haben, welches in analoger Weise alle Mitarbeiter mit dem hinterlegten SQL-Statement aus (einer) der neuen Tabelle(n) holt.

Und noch ein kleiner Hinweis 3:
Grundsätzlich kannst du derartige Hilfstabellen auch mit Visforms Formularen erzeugen und bearbeiten.
7 a - Formular 'Mitarbeiter'
7 b - Formular 'Vorgesetzter'
7 c - Formular 'MA_zu_VG' oder alternativ ein Feld 'Vorgesetzter' in (7a)

Und dann noch ein kleiner Hinweis 4:
Bei den Formularen und ihren Datentabellen aus (7a) und (7b) kannst du in den Formularen - wenn du nun schon so weit gekommen bist - selbstverständlich auch noch weitere zusätzliche Informationen zu den Personen mit aufnehmen und speichern ... etwa die Abteilung oder das Team für die der Vorgesetzte zuständig ist.

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: 2 Jahre 10 Monate her von Administrator IV.

Mehr
2 Jahre 10 Monate her #7897 von fap
Hallo Ingmar,

zunächst erstmal ein riesengroßes Dankeschön!
Ich kenne kaum eine Firma im IT-Umfeld was einen solchen After-Sales-Support bietet wie ihr! Top!

Leider komme ich nicht weiter, ich habe mit phpmyadmin eine Tabelle Mitarbeiter-Vorgesetzte erstellt und eine Listbox_sql erstellt.

Die Tabelle sieht so aus: de.share-your-photo.com/img/2f0e1e2bff.png

Meine Feldkonfiguration sieht so aus: share-your-photo.com/img/8a3fbbbd6f.png

Min SQL-Statement in der Listbox_SQL lautet:
Code:
SELECT `vorgesetzter` as value, `vorgesetzter` as label FROM `cevqz_mitarbeiter-vorgesetzter` WHERE `mitarbeiter` = `${input:name[]}`

Ich bekomme die Fehlermeldung
Code:
Unknown column '' in 'where clause'


Würdest du mir nocheinmal auf die Sprünge helfen?

Vielen Dank und viele Grüße

Mehr
2 Jahre 10 Monate her #7899 von fap
Hallo zusammen,
als Ergänzung noch:

Die Feldkonfiguration der SQL-Listbox "Vorgesetzter" sieht so aus: share-your-photo.com/img/4bcdbb808b.png

Wenn ich Frontend einen Mitarbeiter aus der Listbox auswähle, bleibt im Feld "Vorgesetzter" der "Bitte Wählen-Text" stehen. Ich kann das Formular zwar absenden aber im Feld "Vorgesetzter" wird kein Name übernommen.

Über einen Tipp würde ich mich sehr freuen

Vielen Dank und viele Grüße

Mehr
2 Jahre 10 Monate her #7900 von Administrator IV
Administrator IV antwortete auf Datensatz ein weiteres Feld mitgeben
Hallo fap,

vielen herzlichen Dank für dein Lob, das mich selbstverständlich sehr freut!

Dein SQL-Statement kann wie folgt lauten:

SELECT vorgesetzter as value, vorgesetzter as label FROM cevqz_mitarbeiter-vorgesetzter WHERE mitarbeiter in ${input:name[]}

Punkt 1:
Anführungszeichen (Single und Double) werden um Strings herum verwendet.
Backticks können um Tabellen- und Spaltenbezeichner herum verwendet werden - es ist aber nicht zwingend erforderlich.
Die Verwendung von Backticks ermöglicht es aber, alternative Zeichen und auch reservierte Schlüsselwörter zu verwenden.
Du kannst also mit ihnen beim Entwerfen deiner Tabelle einen beliebigen Feldnamen verwenden:
`my name`, `another field` , `field,with,comma`, `sort`, `select`, ...

Punkt 2:
Zitat aus der Dokumentation:
Wenn Sie in Ihrem SQL-Statement einen Platzhalter für einen solchen Parameter verwenden wollen, so müssen Sie eine spezielle Formateingabe beachten: ${input:fieldname[]}.
Visforms konvertiert dann automatisch alle Werte dieses Parameters in einen String, so dass sie in der mysql in() Funktion verwendet werden können.
Beispiel: Der Input Parameter select[]=value1 select[]=value2 wird zu ("value1","value2") konvertiert und kann folgendermaßen direkt in einer SQL Where Bedingung verwendet werden: where dbfieldname in ${input:select[]}

Gruß und weiterhin viel Erfolg, 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 :-).

Mehr
2 Jahre 10 Monate her #7901 von fap
Hallo Ingmar,

ohne Lobhudelei betreiben zu wollen, das erlebe ich nicht bei vielen Firmen nicht so wie hier.

Die Dokumentation unter www.vi-solutions.de/de/support/dokumenta...r-mit-optionenlisten
hatte ich gelesen und mich auch daran orientiert.

Ich habe den Namen der Tabelle jetzt zu vorgesetzter_mitarbeiter geändert. (Das minus-Zeichen zwischen den beiden Worten gegen einen Unterstrich ausgetauscht, vergleichbar wie bei vielen anderen Joomla-Tabellen)

Das SQL-Statement habe ich wie empfohlen auf
Code:
SELECT vorgesetzter as value, vorgesetzter as label FROM cevqz_mitarbeiter_vorgesetzter WHERE mitarbeiter in ${input:name[]}
geändert

Ich bekomme die Fehlermeldung
Code:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Welchen Fehler mache ich noch?


Vielen Dank und viele Grüße

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum