Speichern von Objekten mit Datumsfeldern im Frontend schlägt fehl

Fragen zum Erstellen von Templates für webEdition.
netzlum
webEdition Partner
webEdition Partner
Beiträge: 330
Registriert: Mi 28. Apr 2004, 00:27
Wohnort: Münster
Kontaktdaten:

Speichern von Objekten mit Datumsfeldern im Frontend schlägt fehl

Beitragvon netzlum » So 30. Okt 2022, 18:56

Hallo zusammen,
in Objekten, die über das Frontend erzeugt oder geändert werden können gibt es in WE 9.1.2 beim Versuch Datumsfelder zu speichern einen PHP-Fehler:

Code: Alles auswählen

Argument 1 passed to we_base_util::rmPhp() must be of the type string, array given
Die Funktionen rmPHP dient, wenn ich es richtig verstehe dazu PHP-Code aus den Eingaben zu entfernen. Sie erwartet einen String, Das Datumsfeld übergibt aber ein Array:

Code: Alles auswählen

 [we_date_Beginn] => Array
                (
                    [date] => 2022-10-30
                    [time] => 17:38:00
                )
Kann ich das Datumsfeld so behandeln, dass kein Array übergeben wird, sondern ein Timestamp (Der vom DB-Feld erwartet wird)?
----
ludger müller
gestaltung für bildschirm und papier aus münster in westfalen
bureau.artbeit.de
-----
Gründungsmitglied im webEdition e.V.

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Speichern von Objekten mit Datumsfeldern im Frontend schlägt fehl

Beitragvon WBTMagnum » So 30. Okt 2022, 23:46

hallo ludger,

das klingt nach einem bug und ähnlich wie folgendes problem: https://qa.webedition.org/view.php?id=13758

ich schlage vor du trägst das in die bugbase sein.


liebe grüße,
sascha

netzlum
webEdition Partner
webEdition Partner
Beiträge: 330
Registriert: Mi 28. Apr 2004, 00:27
Wohnort: Münster
Kontaktdaten:

Re: Speichern von Objekten mit Datumsfeldern im Frontend schlägt fehl

Beitragvon netzlum » Mo 31. Okt 2022, 12:16

Danke Sascha, das werde ich machen.

Viele Grüße
Ludger
----
ludger müller
gestaltung für bildschirm und papier aus münster in westfalen
bureau.artbeit.de
-----
Gründungsmitglied im webEdition e.V.

Benutzeravatar
JuergenEbbing
webEdition Partner
webEdition Partner
Beiträge: 246
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Ramsdorf
Kontaktdaten:

Re: Speichern von Objekten mit Datumsfeldern im Frontend schlägt fehl

Beitragvon JuergenEbbing » Fr 4. Nov 2022, 12:37

Hallo, ich vermute ich habe selbiges Problem.
Zunächst gehe ich über eine Listview mehrere Termine durch und schreibe den ersten in eine Variable:

Code: Alles auswählen

<we:var type="date" name="Datum" to="global" nameto="first"/>
Dieser Termin soll dann in einem anderen Objekt in ein Feld geschrieben werden:

Code: Alles auswählen

$object->setElementS($field, $first);
Das funktioniert aber nur bei einem reinen Textfeld. Ein Datumsfeld bekomme ich auf diese Weise nicht gefüllt. Auch nicht, wenn ich einen Timestamp in die Variable schreibe. Wie muss denn der Inhalt formatiert sein, damit das klappt?
Ich pflege in den Objekten jeweils Konzertreiehen, die mehrere Termine umfassen. Den jeweils ersten und letzten Termin trage ich über diese Funktion in die Konzertreihe ein. Das sind zwei unterschiedliche Klassen - bisher hat das auch funktioniert. Aber ich bekomme über php keine Werte in das Datumsfeld geschrieben.

Nebenbei noch eine Frage: Ist es richtig, dass ich ein reines Textfeld einer Klasse im nachhinein nicht in ein Datumsfeld umwandeln kann? Es gibt die Fehlermeldung "problems on ALTER TABLE".

Gruß
Jürgen
------------
da bin ich ja mal gespannt,
ob ich neugierig bin
------------

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Speichern von Objekten mit Datumsfeldern im Frontend schlägt fehl

Beitragvon mokraemer » Fr 4. Nov 2022, 19:52

1. Bei den Objekten haben wir aktuell noch 2 Varianten, damit nicht jeder Kode kaputt geht - hier in symbolischer Kurzform
Datum/Zeit: setElementI(UNIX_TIME)
Datum: setElementS("Y-m-D")
Zeit: setElementS("H:i")
=> geplant ist aber den Unix-Time auch als echtes Datum in die DB zu bekommen. Dein Custom-Kode geht dabei natürlich kaputt.

2. Ja, die DB verhindert mit der (neuen) Einstellung jede Umstellung bei der Daten vernichtet werden - das haben wir noch nicht (wieder) im Backend abgebildet. Wenn du von Text auf Datum umstellst, was soll sie denn mit "x" machen? Wenn du von Datum auf Text stellst, ist das kein Problem. Aber auch von Datum+Zeit auf Datum geht (natürlich) nicht - evtl. machen wir da im Backend dann ein paar Routinen um geläufige Änderungen doch noch zu ermöglichen. Aber von Text->Datum würde ich trotzdem nicht erlauben.
webEdition-Kern-Entwickler


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot], Bing [Bot] und 12 Gäste