items

items (type => select)
Path

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

Type

array

Scope

Display / Proc.

RenderType

all

Contains the elements for the selector box unless the property foreign_table or special has been set in which case automated values are set in addition to any values listed in this array.

Deprecated since version 12.3: Using the numerical indexes 0 - 4 is deprecated. Use the newly introduced keys.

Each element in this array is in itself an associative array.

label (string or LLL reference)

The displayed title.

value (integer or string)

The value stored in the database.

  • The special value --div-- was used to insert a non-selectable value that appears as a divider label in the selector box. It is kept for backwards-compatible reasons. Use item groups for custom selects instead.

  • Values must not contain , (comma) and | (vertical bar). If you want to use authMode, you should also refrain from using : (colon).

icon (EXT: path or icon identifier)

Optional icon. For custom icons use a path prepended with EXT: to refer to an image file found inside an extension or use an registered icon identifier. If configured on the foreign_table, selicon-field is respected.

group (string)

The key of the item group.

description (string or array)

Fifth value is an optional description text. This is only shown when the list is shown with renderType='selectCheckBox'.

Note

When having a zero as value and the field is of type int(10) in the database, make sure to define the default value as well in TCA: 'default' => 0. Otherwise issues may arise, e.g. with MySQL strict mode.

Examples

Simple items definition with label and value

../../../../_images/SelectSingle1.png
EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php
[
    'columns' => [
        'select_single_1' => [
            'label' => 'select_single_1 two items, long text description',
            'description' => 'field description',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectSingle',
                'items' => [
                    [
                        'label' => 'foo and this here is very long text that maybe does not really fit into the form in one line. Ok let us add even more text to see how this looks like if wrapped. Is this enough now? No? Then let us add some even more useless text here!',
                        'value' => 1,
                    ],
                    [
                        'label' => 'bar',
                        'value' => 'bar',
                    ],
                ],
            ],
        ],
    ],
]

Items definition with label, value and icon

A more complex example could be this (includes icons):

../../../../_images/SelectSingle4.png
EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php
[
    'columns' => [
        'select_single_4' => [
            'label' => 'select_single_4 items with icons',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectSingle',
                'items' => [
                    [
                        'label' => 'foo 1',
                        'value' => 'foo1',
                        'icon' => 'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                    ],
                    [
                        'label' => 'foo 2',
                        'value' => 'foo2',
                        'icon' => 'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                    ],
                ],
            ],
        ],
    ],
]

A typical sys_language_uid field

The icons can also be referenced by their identifier in the Icon API

A typical sys_language_uid field
EXT:styleguide/Configuration/TCA/tx_styleguide_elements_basic.php
[
    'columns' => [
        'sys_language_uid' => [
            'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
            'config' => [
                'type' => 'language',
            ],
        ],
    ],
]

Select checkbox field with icons and descriptions

Descriptions are only displayed in render type selectCheckbox.

../../../../_images/SelectCheckbox3.png
EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php
[
    'columns' => [
        'select_checkbox_3' => [
            'label' => 'select_checkbox_3 icons, description',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectCheckBox',
                'items' => [
                    [
                        'label' => 'foo 1',
                        'value' => 1,
                        'description' => [
                            'title' => 'optional title',
                            'description' => 'optional description',
                        ],
                    ],
                    [
                        'label' => 'foo 2',
                        'value' => 2,
                        'icon' => 'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                        'description' => 'LLL:EXT:styleguide/Resources/Private/Language/locallang.xlf:translatedHelpTextForSelectCheckBox3',
                    ],
                    [
                        'label' => 'foo 3',
                        'value' => 3,
                        'icon' => 'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                    ],
                    [
                        'label' => 'foo 4',
                        'value' => 4,
                    ],
                ],
            ],
        ],
    ],
]

SelectSingle field with itemGroups

A select single field of size 6 with 3 item groups and one item without group.

../../../../_images/SelectSingle17.png
EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php
[
    'columns' => [
        'select_single_17' => [
            'label' => 'select_single_16',
            'description' => 'itemGroups, size=6',
            'config' => [
                'type' => 'select',
                'renderType' => 'selectSingle',
                'items' => [
                    [
                        'label' => 'item 1',
                        'value' => 1,
                        'group' => 'group1',
                    ],
                    [
                        'label' => 'item 2',
                        'value' => 2,
                        'group' => 'group1',
                    ],
                    [
                        'label' => 'item 3',
                        'value' => 3,
                        'group' => 'group3',
                    ],
                    [
                        'label' => 'item 4',
                        'value' => 3,
                    ],
                ],
                'itemGroups' => [
                    'group1' => 'Group 1 with items',
                    'group2' => 'Group 2 with no items',
                    'group3' => 'Group 3 with items',
                ],
                'size' => 6,
            ],
        ],
    ],
]