---
title: "TCA definition"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:fal-using-fal-tca@main"
source: "ApiOverview/Fal/UsingFal/Tca.rst"
modified: "2026-09-14T11:10:56+00:00"
---

# TCA definition

This chapter explains how to create a field that makes it possible to
create relations to files.

The TCA field type [File](https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/File/Index.html#columns-file) can be used to provide a field
in which files can be referenced and/or uploaded:

**EXT:my_extension/Configuration/TCA/my_table.php**

```php
<?php

return [
  'ctrl' => [
    // ...
  ],
  'columns' => [
    'my_media_file' => [
      'label' => 'My image',
      'config' => [
        'type' => 'file',
        'allowed' => 'common-media-types',
      ],
    ],
    // ...
  ],
  // ...
];

```

The property [appearance](https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/Type/File/Index.html#columns-file-properties-appearance) can be
used to specify, if a file upload button and file by URL button (Vimeo, Youtube)
should be displayed.

Example:

**EXT:my_extension/Configuration/TCA/Overrides/my_table.php**

```php
<?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`

**EXT:my_extension/Configuration/TCA/my_table.php (migration)**

```diff
-use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
-
 'columns' => [
     'image' => [
         'label' => 'My image',
-        'config' => ExtensionManagementUtility::getFileFieldTCAConfig(
-            'image',
-            [
-                'maxitems' => 6,
-            ],
-            $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
-        ),
+        'config' => [
+            'type' => 'file',
+            'maxitems' => 6,
+            'allowed' => 'common-image-types'
+        ],
     ],
 ],
```
