PIFA-Form Datumsformat

Alles rund um Module und Plugins in CONTENIDO 4.10.
Antworten
shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

PIFA-Form Datumsformat

Beitrag von shi » Di 9. Jun 2020, 10:50

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.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: PIFA-Form Datumsformat

Beitrag von xmurrix » Mi 10. Jun 2020, 10:07

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
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

shi
Beiträge: 251
Registriert: Fr 5. Nov 2004, 14:12
Kontaktdaten:

Re: PIFA-Form Datumsformat

Beitrag von shi » Mi 10. Jun 2020, 11:22

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.

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: PIFA-Form Datumsformat

Beitrag von xmurrix » Mi 10. Jun 2020, 13:12

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
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Antworten