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.

Textfeld abhängig vom Zustand einer Checkbox füllen

More
9 months 2 weeks ago #9592 by GockelnC
Hallo,
ist folgende Prozedur mit Visforms umsetzbar?
In einem Kontaktformular gibt es die Standardadresse mit Anrede in einem Select Feld (Herrn, Frau ...) und es soll eine abweichende Rechnungsadresse hinterlegt werden falls eine Checkbox angehakt ist.

Aus der Anrede soll in einem "nur lesen" Textfeld die entsprechende Briefanrede generiert und gespeichert werden.
z.B.
Herrn <=> Sehr geehrter Herr + Wert Feld "Nachname"
Frau <=> Sehr geehrte Frau + Wert Feld "Nachname"
usw.

Ausgangslage (Standaradresse/Rechnungsadresse):
Die Felder der Standardadresse sind leer, die Felder der Rechnungsadresse sind leer.
Checkbox "abw Rechnungsadresse" = "unchecked"

Fall 1:
Beim Verlassen der Felder der Standardadresse werden die Felder der Rechnungsadresse mit aktualsiert
Die Felder der Standardanschrift Straße, Hausnummer, PLZ, Ort sollen 1:1 in die Felder der Rechnungsanschrift übernommen und auf nur lesen gesetzt werden. Bei einer Änderung der Standardadresse werden die Felder der Rechnungadresse auch geändert.

Fall 2:
Checkbox "abw. Rechnungsadresse" wechselt von "unchecked" zu "checked"
Felder der Rechnungsadresse werden beschreibbar, ohne die Standardadresse dabei zu verändern. Änderungen an der Standaradresse werden nicht an die Rechnungsadresse weitergegeben.

Fall 3:
Checkbox "abw. Rechnungsadresse" wechselt von "checked" zu "unchecked"
Die Felder der Rechnungsadresse werden wieder mit den Werten der Standardadresse befüllt und auf "nur lesen" gesetzt.
Änderungen an der Standardadresse werden auch in der Rechnungsadresse durchgeführt.

Die Standardadresse und Rechnungsadresse sowie die generierte Briefanrede sollen in der Rückantwort PDF verwendet werden.

Vielen Dank für Rückmeldungen.
Gruss
Christian

More
9 months 2 weeks ago #9599 by Administrator IV
Replied by Administrator IV on topic Textfeld abhängig vom Zustand einer Checkbox füllen
Hallo Christian,

die beschriebene Prozedur ist mit Visforms umsetzbar.

Die beschriebenen Geschäfts-Logiken sind selbstverständlich nicht über reine Konfiguration zu erreichen.
Das Formular muss um etwas benutzerdefiniertes JavaScript und eventuell etwas PHP erweitert werden.

Zu: Fälle 1-3

Fälle 1-3: Möglichkeit 1:
Der hierzu notwendige JavaScript-Code sollte sich dabei Aufwands-technisch in Grenzen halten:
- Synchronisation der betroffenen Feldwerte im Zustand 'unchecked'.
- Re-Initialisierung der betroffenen Feldwerte bei Zustandsänderung 'checked' --> 'unchecked'.
- Steuerung der Eigenschaft 'readonly' der betroffenen Feldwerte

Fälle 1-3: Möglichkeit 2:
Statt mit 'readonly' kannst du auch einfach mit der Bedingten Anzeige von Feldern bei der Rechnungsadresse arbeiten.
Ist die Checkbox gesetzt, sind die Felder sichtbar und beschreibbar und du kannst die Felder auch zu Pflichtfeldern machen.
Ist die Checkbox nicht gesetzt, verschwinden die Felder.
Die Feld-Werte werden dann automatisch gelöscht und Visforms stellt sicher, dass diese Felder in der Datenbank leer sind.
Bedingte Felder, die aufgrund der Bedingung versteckt sind, werden mit dem Formular nicht übertragen und sind in der Datenbank immer leer.

In diesem Fall wäre der notwendige JavaScript-Code:
- Initialisierung der betroffenen Feldwerte bei Zustandsänderung 'unchecked' --> 'checked'.

In diesem Fall wäre zusätzlich etwas benutzerdefinierter PHP-Code notwendig.
Der PHP-Code kümmert sich einfach darum, dass im Zustand 'unchecked', die betroffenen leeren Felder mit den Werten ihres 'Partners' zu füllen.
Der PHP-Code läuft im Backend in Joomla ab, nachdem das Formular abgeschickt wird.

Eine Möglichkeit für Entwickler, benutzerdefinierten PHP für ein Formular ablaufen zu lassen, gibt es in Form der Erstellung eines Custom-Plugins.
In der Dokumentation wird beschrieben, wie ein 'Visforms Custom Plugin' erstellt werden kann:
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Der Entwickler kann dann selbst entscheiden, was zusätzlich alles geschehen soll.
Die Erstellung eines Custom-Plugins erfordert etwas Erfahrung in der PHP-Entwicklung unter Joomla.

Fälle 1-3: Möglichkeit 3:
Basiert auf der Feld-Konfiguration und dem JavaScript von Möglichkeit 2, kommt aber ohne das Custom-Plugin aus.
Wenn du das alles nur in PDFs verwenden willst, die mit PDF-Templates erstellt werden, dann kannst du auch ein SQL bauen, das
- 'prüft' ob die Rechnungsfelder leer sind oder nicht und
- dann einfach die richtigen Daten verwendet.

Zu: Briefanrede generiert und gespeichert werden

Briefanrede: Möglichkeit 1:
Auch hier erfolgt die Lösung mit wenigen Zeilen JavaScript.
Das Textfeld, das die entsprechende Briefanrede erhält, kann 'readonly' und / oder ganz unsichtbar sein.

Briefanrede: Möglichkeit 2:
Einfach bei den Listbox-Optionen als Label 'Frau' und als Value 'Sehr geehrte Frau' verwenden und dann in deinen Dokumenten mit dem Platzhalter arbeiten, der den Optionswert verwendet.
Ein dezidiertes zusätzliches Textfeld, das die entsprechende Briefanrede erhält, kann hierbei entfallen.

Zu: sollen in der Rückantwort PDF verwendet werden

Ja das geht.
Im PDF-Template kann mittels Platzhaltern auf die Formular-Daten und auch auf beliebig andere Daten innerhalb der Joomla-Datenbank zugegriffen werden.
PDF-Dokumente erstellen:
docs.joomla-4.visforms.vi-solutions.de/docs/subscription/pdf/
Struktur und Arbeitsweise:
docs.joomla-4.visforms.vi-solutions.de/d...-template-structure/

JavaScript dem Formular hinzufügen:

Wie du JavaScript dem Formular hinzufügen kannst wird hier beschrieben.
JavaScript und CSS hinzufügen:
docs.joomla-4.visforms.vi-solutions.de/d...a-script-extensions/

Für Joomla 4 ist diese Methode die denkbar einfachste.
Front-End-Web-Assets:
docs.joomla-4.visforms.vi-solutions.de/d...ons/add-script-fewa/

Fazit:

Suche dir die Möglichkeit aus, die am besten zu deinen Kenntnissen passt.

Hinweis:

Falls du weitere Hilfe bei der Entwicklung des Plugins oder des JavaScript-Codes benötigst, dann können wir dich gerne dabei unterstützen - auch mit der kompletten Implementierung.
Bitte habe Verständnis dafür, dass wir diesen Aufwand zu unserem aktuellen Stundensatz berechnen müssen.

Liebe Grüße, 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 :-).

More
9 months 2 weeks ago #9603 by GockelnC
Hallo Ingmar,

vielen Dank für die ausführliche Antwort [eigentlich fast schon eine eigenständige Doku ;-) ] zu meinem Fragenkatalog
und vielen Dank für die angebotene Unterstützung.

Dass eine Unterstützung nicht unentgeltlich erfolgen kann ist auch selbstverständlich.
Es handelt sich schließlich um eine individuelle Aufgabenstellung.

Zunächst werde ich die aufgezeigten Möglichkeiten durchprobieren, mit meinen Javascript bzw. PHP Kenntnissen "abgleichen"
und danach sehen, in wie weit dass Ganze funktioniert:

Gruss
Christian

 

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum