Hallo
Wie schon im Titel beschrieben, geht es um die Datumseingabe im Frontend. Ich arbeite mit dem Extension Builder.
Dort habe ich ein Model Objmekt mit einem Datumsfeld. Dazu habe ich ein Frontend plugin, welches dazu dient das Datum einzugeben.
Wenn ich im Frontend nun ein neues Datum anlegen will, kommt jedesmal die Fehlermeldung: "The date "###" was not recognized (for format "Y-m-d\TH:i:sP")."
Ich weiß einfach nicht mehr weiter, ich finde überall nur Information über die formatiere Ausgabe, aber nichts zur Eingabe. Es muss doch möglich sein das man da 6.12.2017 eintragen kann und nicht 2017-12-06T00:00:00+01:00
Oder muss ich da in den sauren Apfel beißen, ein string feld draus machen und einfach alles von Hand selbst in ein anderes Format umzuschreiben? Das würde zwar gehen, ist aber nicht meine favorisierte Lösung.
Hallo,
ich glaube, du musst in den sauren Apfel beissen.
Die Erstellung eines Dateobjects direkt in der Formulareingabe ist eher suboptimal.
Datumsfeld als String, danach in eine initializeAction erstellen und das Datumsfeld in ein DateObject konvertieren.
z.B.
public function initializeCreateAction() {
$propertyMappingConfiguration = $this->arguments->getArgument('newObject')->getPropertyMappingConfiguration();
$propertyMappingConfiguration->forProperty('date')->setTypeConverterOption('TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\DateTimeConverter', \TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter::CONFIGURATION_DATE_FORMAT, 'd.m.Y');
$propertyMappingConfiguration->forProperty('*')->allowAllProperties();
$propertyMappingConfiguration->forProperty('*')->allowCreationForSubProperty('*');
$propertyMappingConfiguration->forProperty('*')->forProperty('*')->allowAllProperties();
}