TYPO3 v10 如何在前端获取对象的 crdate 或 tstamp

TYPO3 v10 How do i get an object's crdate or the tstamp in FrontEnd

我正在使用 TYPO3 v10 并且我已经构建了一个扩展。

在前端的某些部分,我需要获取 crdate 或 tstamp。 TYPO3 没有用于检索它们的 getter 和 setter。

在 TYPO3 v10 之前你可以这样做:

config.tx_extbase {
    persistence {
        classes {
            TYPO3\CMS\Extbase\Domain\Model\FileMount {
               mapping {
                  tableName = sys_filemounts
                  columns {
                     title.mapOnProperty = title
                     path.mapOnProperty = path
                     base.mapOnProperty = isAbsolutePath
                  }
               }
            }
        }
    }
}

此致,

解决方法很简单。我必须构建自己的吸气剂并映射它们。例如 crdate:

Model1.php

/**
* @var \DateTime
*/
protected $creationDate;

public function getCreationDate(): \DateTime
{
    return $this->creationDate;
}

tx_extension_domain_model_model1.php

'crdate' => [
   'exclude' => true,
   'config' => [
       'type' => 'select',
       'renderType' => 'inputDateTime',
       'eval' => 'datetime,int',
       'default' => 0,
       'range' => [
           'upper' => mktime(0, 0, 0, 1, 1, 2038),
       ],
       'behaviour' => [
           'allowLanguageSynchronization' => true,
       ],
   ],
],

your_extension/Configuration/Extbase/Persistence/Classes.php

return [
    \Vendor\ExtensionName\Domain\Model\Model1::class => [
        'tableName' => 'tx_extension_domain_model_model1',
        'properties' => [
            'creationDate' => [
                'fieldName' => 'crdate',
            ],
            // ...
        ],
    ],
];

现在可以在 FrontEnd

中检索 crdate

非常感谢@Mathias Brodala 为我指明了正确的方向。

此致