如何将虚拟列添加到TCA(TYPO3 8)?我在1:n表中有数据,我想在后端显示当前元素的数据计数。 我需要这样的东西:
$fields = [
'counts7d' => [
'exclude' => false,
'label' => 'last 7 days',
'config' => [
'type' => 'none',
'procFunc' => '\Namespace\MyClass->MyMethod',
'readOnly' => true,
'params' => [
'period => '7d'
]
]
],
'counts30d' => [
'exclude' => false,
'label' => 'last 30 days',
'config' => [
'type' => 'none',
'procFunc' => '\Namespace\MyClass->MyMethod',
'readOnly' => true,
'params' => [
'period => '30d'
]
]
],
];
pseudo function:
public function myMethod($element, $params){
$sql = "SELECT count(*) FROM TABLE WHERE pid=$element[uid] and date > $params[period]";
return sql_count…
}
该字段仅应为后端用户提供信息。
有没有人有想法?
由于 奥利弗
答案 0 :(得分:1)
TCA字段类型user正是您所寻找的:
'counts7d' => [
'exclude' => false,
'label' => 'last 7 days',
'config' => [
'type' => 'user',
'userFunc' => \Namespace\MyClass::class . '->MyMethod',
'parameters' => [
'period => '7d',
],
],
],
答案 1 :(得分:0)
TCA字段类型none正是您要寻找的。类型none是唯一不需要不一定需要数据库字段的类型。要进行操作,您可以使用 userFunc ,它允许您使用自定义php函数。