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.

Datumsformat ändern

More
6 years 8 months ago #4584 by clarus
Datumsformat ändern was created by clarus
Hallo, ich suche nach einer Möglichkeit, das Eingabeformat für ein Formularfeld vom Typ "Datum" zu ändern. Momentan stehen ja die Möglichkeiten "DD.MM.YYYY", "MM/DD/YYYY" und "YYYY-MM-DD" zur Verfügung. Ich benötige die Eingabe aber im Format "DD-MM-YYYY", da ich diese genau so als URL-Parameter anhängen muss, um auf der Weiterleitungsseite ein Ergebnis angezeigt zu bekommen. Ich habe schon versucht, mich durch die einzelnen Scripte in den Tiefen von visforms zu hangeln und habe in der date.php auch einfach mal den "." durch einen "-" ersetzt. Das war aber keine gute Idee. Als Ergebnis brach das Formular dauerhaft zusammen... Daher könnte ich ein wenig Hilfe gut gebrauchen. Hierfür schon einmal vielen Dank im Voraus!

More
6 years 8 months ago #4585 by Administrator AV
Replied by Administrator AV on topic Datumsformat ändern
Hallo,

was du machen willst geht nicht. Visforms bietet dieses Format nicht an (weil das eigentlich auch kein anerkanntes Format ist).

Bislang hat noch nie jemand nach einem anderen Datumsformat als den drei vorhandnen gefragt, ich denke, weil diese alle gänigen Datumsformate weltweit abdecken.
Drei unterschiedliche Datumsformate anzubieten, so dass diese wirklich sauber überall durchlaufen erfordert eine Menge Entwicklungsarbeit und da läuft sehr viel Code ab. Das ist ein Thema, das wirklich sehr individuell istund wie alles was in der Softwareentwicklung mit dem Datumsformat zu tun hat auch recht undankbar.

Tut mir leid. Aber da werde ich keine Änderungen einführen.

Herzliche Grüße,
Aicha

: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
6 years 8 months ago #4586 by clarus
Replied by clarus on topic Datumsformat ändern
Hallo Aicha,

vielen Dank für die Antwort auf meine Frage, auch wenn das Ergebnis irgendwie niederschmetternd ist. Es kann doch nicht angehen, dass mein Vorhaben jetzt an einer simplen Zeichensetzung scheitern muss. Ich muss doch nur einen Weg finden, den "." durch ein "-" zu ersetzen - ob das Datumsformat dann anerkannt ist oder nicht, spielt doch eigentlich keine Rolle, es geht ja nur um die Weitergabe als URL-Parameter in dem besagten Format DD-MM-YYYY.

Ich verstehe ja, dass du in eine solche Spezialanforderung keine Mühe investieren willst, aber mir wäre schon mit ein paar Tipps dazu geholfen, wo ich überhaupt etwas in den Scripts ändern müsste, damit es rein theoretisch funktioniert. Oder gibt es vielleicht alternativ eine Möglichkeit, die Ersetzung im Zuge der Übergabe an die URL vorzunehmen, so dass mit dem eigentlichen Datumsformat gar nicht hantiert werden müsste?

Danke nochmal für eine Antwort und viele Grüße!

More
6 years 8 months ago #4587 by Administrator AV
Replied by Administrator AV on topic Datumsformat ändern
Hallo,

ja das kann ich verstehen.

Die Redirekt-Urlparameter werden in der Datei components\com_visforms\models\visforms.php in der Zeile 1185 zusammengebaut.
Code:
public function getRedirectParams($fields, $query = array(), $formcontext = '')

Das wäre meines erachtens die Stelle, wo du am einfachsten deinen Stringersatz einbauen könntest. Dies ist allerding ein echter Visforms Core Hack, der bei jedem Update verloren geht.

Wenn du mit php und Joomla! Entwicklung fit bist, dann wäre die saubere Lösung ein kleines Visforms Plugin zu schreiben, das das onVisformsAfterFormSave Event verwendet. Dieses Event wird getriggert, nachdem alle anderen Schritte im Prozess des Verarbeitens des Formulars erledigt sind (Daten speichern, Mails senden...), direkt bevor die Redirect-Url zusammengebaut wird und der Redirekt gemacht wird.
Visforms übergibt diesem Event den context ('com_visforms.form') als string, das Formular ($visform) als Object und die Felder $fields als Array von Objekten. Diese $fields kannst du im Plugin manipulieren und sie würden dann in der modifizierten Form für den Zusammenbau der RedirectUrlParameter verwendet.

Die Funktion im Plugin sähe etwa so aus.
Code:
public function onVisformsAfterFormSave($context, $form, $fields) { if ($context != 'com_visforms.form') { return true; } $app = JFactory::getApplication(); if ($app->isAdmin()) { return true; } for ($i = 0; $i < count($fields); $i++) { if ($fields[$i]->typefield == 'date' && !empty($fields[$i]->redirectParam)) { $fields[$i]->redirectParam = str_replace('.', '-', $fields[$i]->redirectParam); } } }

Alternativ könntest du im if auch auf die id des Feldes gehen (also if $fields[$i]->id == 100 oder so.

Zu den Visforms Events siehe auch vi-solutions.de/de/support/dokumentation...ckler-feature-events ein Beitrag, der leider noch sehr rudimentär ist.

Gruß,
Aicha

: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 :-).

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum