TCA это просто PHP массив.
Он идет отдельный файлом и потом включается в общий кэшируемый PHP файл со всеми TCA всех расширений. И в этом виде подгружается при ядром при каждом FE обращении.
Следовательно если это просто PHP код, то вы в него можете добавить любые функции, которые делают то что вам нужно.
Например у меня после описания TCA есть такое:
Код:
/*
* geography
*/
if (t3lib_extMgm::isLoaded('uedb_region')) {
$TCA['tx_uedbnews_news']['columns']['country_id'] = Array (
'exclude' => 0,
'label' => 'LLL:EXT:uedb_news/locallang_db.xml:tx_uedbnews_news.country_id',
'config' => Array (
и такое (использование возможностей расширения DAM)
Код:
/*
* dam images
*/
$TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage'] = txdam_getMediaTCA('image_field', 'tx_dam_thumbimage');
$TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage']['config']['size'] = 1;
$TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage']['config']['maxitems'] = 1;
$TCA['tx_uedbnews_news']['columns']['tx_dam_thumbimage']['label'] = 'LLL:EXT:uedb_news/locallang_db.xml:tx_uedbnews_news.tx_dam_thumbimage';