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.

Zweiter Submit Button - andere Funktion

Mehr
7 Monate 5 Tage her #10423 von Schulamt
Zweiter Submit Button - andere Funktion wurde erstellt von Schulamt
Hallo liebes Team,

mittlerweile arbeite ich sehr gerne und oft mit den Frontend-Webassets. Das ist echt ne tolle Sache. So prüfe komplexe Eingaben auf ihre Plausibilität.
Den Submit-Button graue ich aus, bis alle Felder gefüllt oder die Berechnungen der Eingaben alle Prüfungen bestanden haben.
Unsere Nutzer haben sich nun eine Möglichkeit gewünscht, ihre bisherigen Eingaben zwischenzuspeichern.
Hierzu, dachte ich, wäre ein zweiter Submit-Button sinnvoll. Dieser ist immer klickbar ohne eine Prüfung bestehen zu müssen. Allerdings sollte dieser die Datensätze dann als versteckt anlegen.
Wird der Datensatz editiert und dann statt zwischenspeichern das Formular mit dem eigentlichen Submit-Button abgeschickt, so soll der Datensatz auf veröffentlicht gesetzt werden. So weiß ich als Admin, dass der Datensatz nun vollständig ist und kann damit weiterarbeiten.

Fällt die eine Möglichkeit ein, dies umzusetzen?

Danke im Voraus und viele Grüße
Michael

Mehr
7 Monate 5 Tage her #10424 von MaliRaj
Mein Gedanken dazu:
Je nachdem, wie viel Zeit zwischen dem "Zwischenspeichern" und dem "Fertig" liegt, könnte man das auch ohne einen zweiten Button mit Hilfe von Cookies mit entsprechender Gültigkeitsdauer lösen. Das ist eine klassische "Warenkorb-merken"-Funktion.

Mit einem zweiten Button wäre zwar mit den FEWAs ein "Zwischenspeichern" ohne browserseitige Validierung möglich, aber wohl nur zusammen mit einem Custom-Plugin kann man in den passenden Events die Option "Datensatz automatisch veröffentlichen" ja/nein steuern.

Eine weitere Möglichkeit ohne Custom-Plugin wäre, ein Edit-only-Status-Feld in das Formular einzufügen, z.Bsp. eine Radio-Gruppe mit den Optionen 1 = in Bearbeitung, 2 = fertig. Das könnte man in den FEWAs auswerten (evtl. den Submit-Button aktivieren/deaktivieren) und in den Listenansichten wäre der Bearbeitungsstatus auch erkennbar.

Freundliche Grüße aus PM
Heinz
(Joomla 5.1.2 / Visforms+Subscription 5.12 / PHP 8.2)

Mehr
7 Monate 4 Tage her #10425 von Administrator IV
Administrator IV antwortete auf Zweiter Submit Button - andere Funktion
Hallo Michael,

die
- individuelle Steuerung des Datensatz-Status 'veröffentlicht',
- für den gegebenen Datensatz,
- beim Absenden des Formulars,
- für die beiden Fälle 'Abschicken' und 'Editieren',
- erfolgt am besten und sehr direkt in einem Custom Plugin.

Du brauchst einen möglichst einfachen Mechanismus, die beiden Fälle zu unterscheiden.
Da gibt es zahlreiche Möglichkeiten.
Eine grundsätzliche einfache und übersichtliche Lösung wäre, dass der Button-Klick für beide Buttons jeweils eine andere 'Spur' hinterlässt.
Anhand dieser 'Spur' reagierst du im Custom Plugin entsprechend.
Diese 'Spur' könnte etwa das Setzen eines zusätzlichen versteckten Feldes sein, dass speziell für diesen Zweck angelegt wurde.

Du nutzt die beiden folgenden Events für 'Abschicken' und 'Editieren'.
Du bündelst die Bearbeitung in einer privaten Hilfs-Funktion, welche die gesamte Logik an einer Stelle enthält:
Code:
public function onVisformsAfterFormSave(VisformsAfterFormSaveEvent $event): void {     // Form submitted event     $this->handleRecordsetStatePublished($event->getContext(), $event->getForm(), $event->getFields()); } public function onVisformsAfterEditFormSave(VisformsAfterEditFormSaveEvent $event): void {     // Form data edited event     $this->handleRecordsetStatePublished($event->getContext(), $event->getForm(), $event->getFields()); } private function handleRecordsetStatePublished($context, $form, $fields): void {     // context = 'com_visforms.form'          // handle published/unpublished of data recordset          // test for published/unpublished     // your code ...          // write published/unpublished to form data recordset     // your code ... }

Falls du Hilfe bei der Entwicklung des Plugins benötigst, dann können wir dich gerne dabei unterstützen - auch mit der kompletten Implementierung.

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
6 Monate 3 Tage her #10485 von Schulamt
Schulamt antwortete auf Zweiter Submit Button - andere Funktion
Vielen Dank für die beiden Antworten.

Prinzipiell ist auch die Möglichkeit über einen Radiobutton nicht schlecht und vor allem sehr schnell umzusetzen, danke hierfür!

Das Schreiben eines Custom-Plugins, gehe ich mal an, wenn ich Zeit finde.
Bei Erfolg oder Misserfolg melde ich mich nochmal :).

VG Michael

Moderatoren: Administrator AVAdministrator IV
Powered by Kunena Forum