繁体   English   中英

TYPO3 如何给TCA添加虚拟列?

[英]TYPO3 how to add virtual column to the TCA?

如何向 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…

}

该字段应该只为后端用户提供信息。

有没有人有想法?

谢谢奥利弗

TCA 字段类型user正是您要查找的内容:

'counts7d' => [
    'exclude' => false,
    'label' => 'last 7 days',
    'config' => [
        'type' => 'user',
        'userFunc' => \Namespace\MyClass::class . '->MyMethod',
        'parameters' => [
            'period => '7d',
        ],
    ],
],

TCA 字段类型none正是您要查找的内容。 类型都不是,这并不一定需要一个数据库领域唯一的类型。 要操作它,您可以使用允许您使用自定义 php 函数的userFunc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM