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.

Textfeld abhängig vom Zustand einer Checkbox füllen

Mehr
9 Monate 2 Wochen her #9592 von 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

Mehr
9 Monate 2 Wochen her #9599 von Administrator IV
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 :-).

Mehr
9 Monate 2 Wochen her #9603 von 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

 

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum