TYPO3 日期问题

TYPO3 date issue

我是 TYPO3 的新用户,我正在创建一个简单的扩展,用于在后端注册数据并显示它们。

我有两个日期字段,我们可以通过它们自己选择日期来确定事件的持续时间,例如 startDate 和 endDate

但是,当我显示由于我的扩展而保存的元素时,它不会显示输入日期的日期,而是显示今天的日期。

在数据库中,日期以 UNIX 格式记录,但具有正确的值,例如我输入了这个日期:21-01-2022,它在数据库中记录了 1642806000

不知道为什么会出现这个问题,你认为是配置问题?

这是一些代码片段:

TCA

 'start_date' => [
            'label' => 'start date',
            'config' => [
                'type' => 'input',
                'renderType' => 'inputDateTime',
                'eval' => 'date, int',
                ],
        ],
        'end_date' => [
            'label' => 'end date',
            'config' => [
                'type' => 'input',
                'renderType' => 'inputDateTime',
                'eval' => 'date, int',
            ],
        ],

SQL

start_date int(11) DEFAULT '0' NOT NULL,
end_date int(11) DEFAULT '0' NOT NULL,

型号

protected $startdate = '';

protected $enddate = '';

    /**
    * @return \DateTime
    */
   public function getStartdate()
   {
       return $this->Startdate;
   }

   /**
    * @param \DateTime $startdate
    */
   public function setStartdate($startdate)
   {
       $this->startdate = $startdate;
   }


   /**
    * @return \DateTime
    */
   public function getEnddate()
   {
       return $this->enddate;
   }

   /**
    * @param \DateTime $enddate
    */
   public function setEnddate($enddate)
   {
       $this->enddate = $enddate;
   }

HTML

<f:format.date format="d.m.Y">{event.start_date}</f:format.date>

感谢您的帮助

我正在使用 TYPO3 10.4

您需要在 SQL 中使用下划线,因此映射无效。 当您在模型中使用 startDate 时,Extbase 需要一个名为 start_date 的 SQL 字段。

它在 Extbase 文档中隐藏得很深,但我找到了它(并将对其进行更改以使其更加突出): https://docs.typo3.org/m/typo3/book-extbasefluid/main/en-us/6-Persistence/1-prepare-the-database.html#preparing-the-tables-of-the-domain-objects