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