addRecord

addRecord
Path

$GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']

type

array

Scope

fieldControl

Types

group

Control button to directly add a related record. Leaves the current view and opens a new form to add a new record. On 'Save and close', the record is directly selected as referenced element in the type='group' field. If multiple tables are allowed, the first table from the allowed list is selected, if no specific table option is given.

Examples

Select field

EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php
[
    'columns' => [
        'select_multiplesidebyside_6' => [
            'exclude' => 1,
            'label' => 'select_multiplesidebyside_6 fieldControl',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectMultipleSideBySide',
                'foreign_table' => 'tx_styleguide_staticdata',
                'size' => 5,
                'autoSizeMax' => 20,
                'fieldControl' => [
                    'editPopup' => [
                        'disabled' => false,
                        'options' => [
                            'windowOpenParameters' => 'height=300,width=500,status=0,menubar=0,scrollbars=1',
                        ],
                    ],
                    'addRecord' => [
                        'disabled' => false,
                    ],
                    'listModule' => [
                        'disabled' => false,
                    ],
                ],
            ],
        ],
    ],
]
Copied!

Group field

EXT:styleguide/Configuration/TCA/tx_styleguide_elements_group.php
[
    'columns' => [
        'group_db_1' => [
            'exclude' => 1,
            'label' => 'group_db_1 allowed=be_users,be_groups description',
            'description' => 'field description',
            'config' => [
                'type' => 'group',
                'allowed' => 'be_users,be_groups',
                'fieldControl' => [
                    'editPopup' => [
                        'disabled' => false,
                    ],
                    'addRecord' => [
                        'disabled' => false,
                    ],
                    'listModule' => [
                        'disabled' => false,
                    ],
                ],
            ],
        ],
    ],
]
Copied!

Select field with options

The field controls are also used in the core. The following example is from the table be_groups:

EXT:core/Configuration/TCA/be_groups.php
[
    'columns' => [
        'file_mountpoints' => [
            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:file_mountpoints',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectMultipleSideBySide',
                'foreign_table' => 'sys_filemounts',
                'foreign_table_where' => ' AND {#sys_filemounts}.{#pid}=0',
                'size' => 3,
                'autoSizeMax' => 10,
                'fieldControl' => [
                    'editPopup' => [
                        'disabled' => false,
                        'options' => [
                            'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:file_mountpoints_edit_title',
                        ],
                    ],
                    'addRecord' => [
                        'disabled' => false,
                        'options' => [
                            'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:file_mountpoints_add_title',
                            'setValue' => 'prepend',
                        ],
                    ],
                    'listModule' => [
                        'disabled' => false,
                        'options' => [
                            'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_tca.xlf:file_mountpoints_list_title',
                        ],
                    ],
                ],
            ],
        ],
    ],
]
Copied!

Options

disabled
Path

$GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']

type

boolean

Scope

fieldControl -> addRecord

Default

true

Disables the field control. Needs to be set to false to enable the Create new button

options[pid]
Path

$GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']

type

string

Scope

fieldControl -> addRecord

Values

marker or an integer

Default

###CURRENT_PID###

pid of the new record. Can be an hard pid setting, or one of these markers, see select foreign_table_where.

Falls back to "current pid" if not set, forces pid=0 if records of this table are only allowed on root level.

  • ###CURRENT_PID###
  • ###THIS_UID###
  • ###SITEROOT###
options[table]
Path

$GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']

type

string

Scope

fieldControl -> addRecord

Values

name of the table

Default

First table from property allowed / foreign_table

Add a record to this table, falls back to first table from allowed list if not set for type='group' fields and to foreign_table for type='select' fields.

options[title]
Path

$GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']

type

string

Scope

fieldControl -> addRecord

Values

string or LLL reference

Default

LLL:EXT:lang/Resources/Private/Language/locallang_core.xlf:labels.createNew

Allows to set a different 'title' attribute to the popup icon.

options[setValue]
Path

$GLOBALS['TCA'][$table]['columns'][$field]['config']['fieldControl']['addRecord']

type

string

Scope

fieldControl -> addRecord

Values

string

Default

append

Can be one of 'set', 'prepend' or 'append'. With 'set' the given selection is substituted with the new record, 'prepend' adds the new record on top of the list, 'append' adds it at the bottom.