.. include:: /Includes.rst.txt .. index:: TCAdefaults .. highlight:: php .. _userTsTcaDefaults: =========== TCAdefaults =========== This allows to set or override the `default` values of `TCA` fields that is available for various TCA types, for instance for :ref:`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 :ref:`Page TSconfig level `, the order of default values when creating new records in the backend is this: #. Value from :php:`$GLOBALS['TCA']` #. Value from User TSconfig (these settings) #. Value from :ref:`Page TSconfig ` #. Value from "defVals" GET variables #. Value from previous record based on 'useColumnsForDefaultValues' However the order for default values used by :php:`\TYPO3\CMS\Core\DataHandling\DataHandler` if a certain field is not granted access to for user will be: #. Value from :php:`$GLOBALS['TCA']` #. Value from User TSconfig (these settings) So these values will be authoritative if the user has no access to the field anyway. Example: .. code-block:: typoscript :caption: EXT:site_package/Configuration/user.tsconfig # Show newly created pages by default TCAdefaults.pages.hidden = 0 .. attention:: 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 :file:`typo3/sysext/core/Configuration/TCA/pages.php`: .. code-block:: php :caption: 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 :php:`\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 :file:`Configuration/TCA/Overrides` folder of an extension: .. code-block:: php :caption: EXT:site_package/Configuration/TCA/Overrides/pages.php $GLOBALS['TCA']['pages']['ctrl']['useColumnsForDefaultValues'] = 'doktype,fe_group';