[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
XForm + jQueryUI datepicker - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
dpf_dd
Beiträge: 151
Registriert: 20. Dez 2007, 14:07

XForm + jQueryUI datepicker

5. Nov 2015, 15:14

Sorry für den nächsten Thread, leider gibt es keinen XForm Sammelthread bzw. habe ich Angst das es da unter geht :twisted:

XForm mag mich scheinbar nicht. Habe einen jQuery UI Datepicker erfolgreich installiert und mit XForm in Verwendung. Problem: Mein Zeitstempel wird falsch in die DB gespeichert...

Aufruf via Pipe:

Code: Alles auswählen

text|datum|Datum|#placeholder:Datum|#required:required|#readonly:readonly|||datepicker_1|
jQuery Trigger:

Code: Alles auswählen

if($('.datepicker_1').length != 0){
	  $(".datepicker_1").datepicker({
			dateFormat: "@"															
		});
	}
// im Input-Feld erscheint dann "1446678000000" (3 Nullen zuviel) => in der DB gespeichert wird "2147483647" (also was völlig falsches)
jQuery Trigger:

Code: Alles auswählen

if($('.datepicker_1').length != 0){
	  $(".datepicker_1").datepicker({
			dateFormat: "dd.mm.yy"															
		});
	}
// im Input-Feld erscheint dann "05.11.2015" (eiegntlich falsch, da "y" die Jahreszahl auf 2 Stellen reduzieren müsste...) => in der DB gespeichert wird "0511" (also auch ein unerwartetes Format)
Prinzipiell soll im Input-Feld das Datum ausgegeben werden (dateFormat: "dd.mm.yy" => 05.11.15) - in die DB soll aber der UNIX-Stamp geschrieben werden (altFormat "@" => 1446678000). Aber nichts funktioniert so wie es soll. Wer kann helfen, ich hab null Ahnung wo ich suchen soll :evil: :roll:

DANKE!

Benutzeravatar
Xong
Beiträge: 2081
Registriert: 5. Jun 2008, 08:30
Wohnort: Halle (Saale)

Re: XForm + jQueryUI datepicker

5. Nov 2015, 16:00

Ich hab für sowas meine eigene Text-Klasse: https://github.com/xong/redaxo4_xform/c ... 088a45b079

Du kannst aber auch folgendes versuchen:

Code: Alles auswählen

hidden|datum
text|datum_picker|Datum||no_db
action|copy_value|datum_picker|datum
action|encrypt|datum|strtotime
Nicht besonders schön, könnte aber funktionieren...
LG,
Xong

[ externes Bild ] Määääääääääääääääääääääääh!

dpf_dd
Beiträge: 151
Registriert: 20. Dez 2007, 14:07

Re: XForm + jQueryUI datepicker

11. Nov 2015, 23:37

Sorry xong, aber nach paar Tagen Abstand hab ich heute spontan folgendes ausprobiert - und das funktioniert auch. Idee dahinter: Datepicker TT.MM.YYYY nicht umwandeln lassen, sondern per extended rex_form selbst machen...
PreSave, um vorm Speichern in die DB in UNIX umzuwandeln. PreView, um nach dem Lesen aus der DB in TT.MM.YYYY zurück zu konvertieren...
Trotzdem danke für deine two cents :)

Code: Alles auswählen

    ### FORMULAR-KLASSE ERWEITERN FÜR DATENMANIPULATION    
    class event_rex_form extends rex_form {
        function preSave($fieldsetName, $fieldName, $fieldValue, &$saveSql){
            switch($fieldName){
                default:
                    return $fieldValue;
                    break;
                case "DATUM":
                    return strtotime($fieldValue);
                    break;
            }
        }
        function preView($fieldsetName, $fieldName, $fieldValue){
            switch($fieldName){
                default:
                    return $fieldValue;
                    break;
                case "DATUM":
                    return date("d.m.Y", $fieldValue);
                    break;
            }
        }
    }

Zurück zu „Allgemeines [R4]“