TCA definition¶
This chapter explains how to create a field that makes it possible to create relations to files.
Changed in version 13.0
When using the TCA type file
, TYPO3 takes care of
generating the according database field.
A developer does not need to define this field in an extension's
ext_
file.
The TCA field type File can be used to provide a field in which files can be referenced and/or uploaded:
<?php
return [
'ctrl' => [
// ...
],
'columns' => [
'my_media_file' => [
'label' => 'My image',
'config' => [
'type' => 'file',
'allowed' => 'common-media-types',
],
],
// ...
],
// ...
];
The property appearance can be used to specify, if a file upload button and file by URL button (Vimeo, Youtube) should be displayed.
Example:
<?php
$GLOBALS['TCA']['my_table']['columns']['my_media_file']['config']['appearance'] = [
'fileUploadAllowed' => false,
'fileByUrlAllowed' => false,
];
This will suppress two buttons for upload and external URL and only leave the button Create new relation.
Migration from ExtensionManagementUtility::getFileFieldTCAConfig
¶
// Before
'columns' => [
'image' => [
'label' => 'My image',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'image',
[
'maxitems' => 6,
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
),
],
],
// After
'columns' => [
'image' => [
'label' => 'My image',
'config' => [
'type' => 'file',
'maxitems' => 6,
'allowed' => 'common-image-types'
],
],
],
Copied!