Attention

TYPO3 v10 has reached end-of-life as of April 30th 2023 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.

Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.

TCAdefaults

This allows to set or override the default values of TCA fields that is available for various TCA types, for instance for type=input.

The full path of a setting include the table and the field name: TCAdefaults.[table name].[field]

This key is also available on Page TSconfig level, the order of default values when creating new records in the backend is this:

  1. Value from $GLOBALS['TCA']

  2. Value from User TSconfig (these settings)

  3. Value from Page TSconfig

  4. Value from "defVals" GET variables

  5. Value from previous record based on 'useColumnsForDefaultValues'

However the order for default values used by \TYPO3\CMS\Core\DataHandling\DataHandler if a certain field is not granted access to for user will be:

  1. Value from $GLOBALS['TCA']

  2. Value from User TSconfig (these settings)

So these values will be authoritative if the user has no access to the field anyway.

Example:

# Show newly created pages by default
TCAdefaults.pages.hidden = 0

Important

This example will not work when creating the page from the context menu since this is triggered by the values listed in the ctrl section of typo3/sysext/core/Configuration/TCA/pages.php:

'ctrl' => [
    'useColumnsForDefaultValues' => 'doktype,fe_group,hidden',
    ...
]

If 'hidden' is in the list, it gets overridden with the "neighbor" record value (see \TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowInitializeNew::setDefaultsFromNeighborRow) and as the value is set - usually to '0' - it will not be overridden again. To make it work as expected, that value must be overridden. This can be done for example in the Configuration/TCA/Overrides folder of an extension:

$GLOBALS['TCA']['pages']['ctrl']['useColumnsForDefaultValues'] = 'doktype,fe_group';