それが標準的な方法かどうかはわかりませんが、個人的には好きではありません..しかし、次のように行うことができます:
新規/編集アクションの流体:
<f:form action="create" objectName="girlfriend">
...
<f:form.textfield property="birthDate" placeholder="1991-12-30 - 18:25:58" value="{newGirlfriend.birthDate->f:format.date(format:'Y-m-d - H:i:s')}" />
...
</f:form>
標準が適切でない場合は、コントローラーで initialize*Action を追加し、 \DateTime のpropertyMappingConfigurationを更新できます (作成アクションと更新アクションの両方で実行する必要があります)。
public function initializeCreateAction() {
$mappingConfig = $this->arguments['girlfriend']->getPropertyMappingConfiguration();
$mappingConfig->forProperty('birthDate')->setTypeConverterOption(
'TYPO3\Flow\Property\TypeConverter\DateTimeConverter',
\TYPO3\Flow\Property\TypeConverter\DateTimeConverter::CONFIGURATION_DATE_FORMAT,
'Y-m-d - H:i:s'
);
}
オブジェクトをコントローラーに直接渡すのではなく、サービス層で作成する方が簡単な場合があります。TypeConverters を確認することもできます。これらは initializeActions を必要とせず、優先度を高く設定して既存のものを簡単にオーバーライドできます。