Seite 1 von 1

PIFA-Form Datumsformat

Verfasst: Di 9. Jun 2020, 10:50
von shi
Hallo, ich brauche mal wieder eure Hilfe. Wenn Ich ein Datumsfeld für das Formular auswähle und jquery-ui.js einbinde, also das der Kalender für die Datumauswahl eingeblendet wird, dann wird das Datum im Format m/d/y eingefügt.

Wo kann ich das Format auf d/m/y ändern und ggf auch die Sprache auf deutsch stellen. Da steht z.B. nicht Juni sondern June.

Update: Wenn ich unter "myContenido"->Einstellungen ->Datumsformat das ändere hat es aber keine Auswirkung auf das Datumformat im Formular.

Re: PIFA-Form Datumsformat

Verfasst: Mi 10. Jun 2020, 10:07
von xmurrix
Hallo shi,

vermutlich verwendest du den jQuery UI Datepicker. Falls das so ist, dann musst du beim Erstellen des Datepickers das Format übergeben.

Beispiel:

Code: Alles auswählen

<script type="text/javascript">
    $(function () {
        $('#datepicker').datepicker({ dateFormat: 'dd.mm.yy' });
    });
</script>
Das im Backend unter "My CONTENIDO > Einstellungen" angegebene Datumsformat ist für die Verwendung in PHP gedacht und das ist nicht mit jQuery UI Datepicker kompatibel.

PHP Date:
https://www.php.net/manual/de/function.date.php

jQuery UI Datepicker formatDate:
https://api.jqueryui.com/datepicker/#utility-formatDate


Du kannst aber pro Sprache eine Mandanteneinstellung hinterlegen, die sich bei der Ausgabe des jQuery UI Datepicker Codes verwenden lässt.

Beispiel:

Code: Alles auswählen

Typ                     Name              Wert
---------------------------------------------------------
datepicker-1            date_format       dd.mm.yy
datepicker-2            date_format       mm/dd/yy
Beispielhaft ist hier der Typ "datepicker-1" ist für Deutsch (ID = 1) und "datepicker-2" ist für Englisch (ID = 2).

Das lässt sich später dann im Modul wie folgt auslesen:

Code: Alles auswählen


$idlang = cRegistry::getLanguageId();
$dateFormat = getEffectiveSetting('datepicker-' . $idlang, 'date_format');
Gruß
xmurrix

Re: PIFA-Form Datumsformat

Verfasst: Mi 10. Jun 2020, 11:22
von shi
Hallo xmurrix, vielen dank für deine Mühe. Wo muss das javascript hin? In welchem Modul muss der Code geschrieben werden, im Modul "formcontact"?

Ich habe jetzt den Code gefunden und das so gelöst.

1. jquery-ui.js Zeile 7240 "monthNames"
2. jquery-ui.js Zeile 7247 "dateFormat"

auch in der CSS jquery-ui.css musste ich Anpassungen vornehmen damit Icons angezeigt werden. In den Zeilen 1057 - 1091 müssen die Pfade angepasst werden.

Re: PIFA-Form Datumsformat

Verfasst: Mi 10. Jun 2020, 13:12
von xmurrix
Hallo shi,

ich bin davon ausgegangen, dass die Initialisierung des Datepickers im Frontend unabhängig von PIFA stattfindet. Dem ist wohl nicht so, in contenido/plugins/form_assistant/classes/class.pifa.field.php wir in 864 ff. der JavaScript Code zum Initialisieren des Datepickers ausgegeben, vermutlich muss man hier das entsprechende Format setzen.

Egal ob man nun die Datei class.pifa.field.php oder die jquery-ui.js ändert, in beiden Fällen wird der Originalcode in CONTENIDO angepasst, was bei einem Update natürlich überschrieben wird.

Das sollte idealerweise konfigurierbar sein...

Gruß
xmurrix