addRecord

addRecord
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.

Note

The add record control is disabled by default, enable it if needed. It is shown below the edit popup control if not changed by below or after settings.

Examples

Select field

../../../_images/SelectMultiplesidebyside6.png
'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,
                ],
            ],
        ],
    ],
]

Group field

../../../_images/GroupDb1.png
'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,
                ],
            ],
        ],
    ],
]

Select field with options

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

../../../_images/FileMountpoints.png
'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',
                    ],
                ],
            ],
        ],
    ],
]

Options

disabled
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]
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]
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]
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]
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.