如何在TYPO3中存储datetime属性?
我创建了一个简单的表单,它处理一个对象person,这个对象拥有属性birthDate,类型为datetime 现在我想创建一个人并存储此属性,但如果我尝试提交表单,则会出现以下错误: 无法识别日期“%s”(对于格式“%s”) 我读过一些线程,其中很多线程建议使用初始化操作来处理这个问题,但这对我不起作用 人:如何在TYPO3中存储datetime属性?,datetime,typo3-7.6.x,Datetime,Typo3 7.6.x,我创建了一个简单的表单,它处理一个对象person,这个对象拥有属性birthDate,类型为datetime 现在我想创建一个人并存储此属性,但如果我尝试提交表单,则会出现以下错误: 无法识别日期“%s”(对于格式“%s”) 我读过一些线程,其中很多线程建议使用初始化操作来处理这个问题,但这对我不起作用 人: class Person extends AbstractEntity { ... /** * Stores the birth date of a pers
class Person extends AbstractEntity
{
...
/**
* Stores the birth date of a person
*
* @var \DateTime
* @validate NotEmpty, DateTime
*
*/
protected $birthDate = null;
...
}
流体:
<f:form action="send" method="post" enctype="multipart/form-data" name="person" object="{person}">
...
<fieldset>
<f:render partial="FormErrors" arguments="{field: 'person.birthDate'}" />
<label class="required">Birthdate</label>
<f:form.textfield
type="date"
placeholder="dd.mm.yyyy"
property="birthDate"
/>
</fieldset>
...
</f:form>
<f:form.textfield id="datepicker" placeholder="dd.mm.yyyy" property="geburtsdatum" />
发送操作如下所示:
public function sendAction(\Fox\Example\Domain\Model\Person $person)
{
$this->personRepository->add($person);
...
}
因此没有什么特别之处,但我的自定义日期时间格式“d.m.Y”似乎不起作用,并且属性为string类型,有什么建议吗?我的一个工作示例可能会对您有所帮助 TCA:
'geburtsdatum' => array(
'exclude' => 1,
'label' => 'Geburtsdatum',
'config' => array(
'dbType' => 'date',
'type' => 'input',
'size' => 7,
'eval' => 'date',
'checkbox' => 0,
'default' => '0000-00-00'
),
),
SQL:GEBURTSDATA日期默认值“0000-00-00” 型号:
class Inquiry extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
...
/**
* geburtsdatum
*
* @var string
*/
protected $geburtsdatum = NULL;
...
/**
* Returns the geburtsdatum
*
* @return string $geburtsdatum
*/
public function getGeburtsdatum()
{
return $this->geburtsdatum;
}
/**
* Sets the geburtsdatum
*
* @param string $geburtsdatum
* @return void
*/
public function setGeburtsdatum($geburtsdatum)
{
$this->geburtsdatum = $geburtsdatum;
}
}
流体:
<f:form action="send" method="post" enctype="multipart/form-data" name="person" object="{person}">
...
<fieldset>
<f:render partial="FormErrors" arguments="{field: 'person.birthDate'}" />
<label class="required">Birthdate</label>
<f:form.textfield
type="date"
placeholder="dd.mm.yyyy"
property="birthDate"
/>
</fieldset>
...
</f:form>
<f:form.textfield id="datepicker" placeholder="dd.mm.yyyy" property="geburtsdatum" />
谢谢你的回复,我现在也用了类似的东西。字符串属性处理表单字段,在验证之后,我存储该字符串并将其转换为第二个datetime属性。