items

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

Each element in this array is in itself an array where:

  1. First value is the item label (string or LLL reference).
  2. Second value is the value of the item.
    • 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).
  3. Third value is an 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.
  4. Fourth value is the key of the item group.
  5. Fifth value is reserved as keyword EXPL_ALLOW or EXPL_DENY. See property authMode / individual for more details.

Note

When having a zero as second 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
'columns' => [
    'select_single_1' => [
        'exclude' => 1,
        'label' => 'select_single_1 two items, long text description',
        'description' => 'field description',
        'config' => [
            'type' => 'select',
            'renderType' => 'selectSingle',
            'items' => [
                [
                    '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!',
                    1,
                ],
                [
                    'bar',
                    'bar',
                ],
            ],
        ],
    ],
]

Items definition with label, value and icon

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

../../../../_images/SelectSingle4.png
'columns' => [
    'select_single_4' => [
        'exclude' => 1,
        'label' => 'select_single_4 items with icons',
        'config' => [
            'type' => 'select',
            'renderType' => 'selectSingle',
            'items' => [
                [
                    'foo 1',
                    'foo1',
                    'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                ],
                [
                    'foo 2',
                    'foo2',
                    '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
'columns' => [
    'sys_language_uid' => [
        'exclude' => true,
        '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
'columns' => [
    'select_checkbox_3' => [
        'exclude' => 1,
        'label' => 'select_checkbox_3 icons, description',
        'config' => [
            'type' => 'select',
            'renderType' => 'selectCheckBox',
            'items' => [
                [
                    'foo 1',
                    1,
                    '',
                    null,
                    [
                        'title' => 'optional title',
                        'description' => 'optional description',
                    ],
                ],
                [
                    'foo 2',
                    2,
                    'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                    null,
                    'LLL:EXT:styleguide/Resources/Private/Language/locallang.xlf:translatedHelpTextForSelectCheckBox3',
                ],
                [
                    'foo 3',
                    3,
                    'EXT:styleguide/Resources/Public/Icons/tx_styleguide.svg',
                ],
                [
                    'foo 4',
                    4,
                ],
            ],
        ],
    ],
]

SelectSingle field with itemGroups

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

../../../../_images/SelectSingle17.png
'columns' => [
    'select_single_17' => [
        'exclude' => 1,
        'label' => 'select_single_16',
        'description' => 'itemGroups, size=6',
        'config' => [
            'type' => 'select',
            'renderType' => 'selectSingle',
            'items' => [
                [
                    'item 1',
                    1,
                    '',
                    'group1',
                ],
                [
                    'item 2',
                    2,
                    '',
                    'group1',
                ],
                [
                    'item 3',
                    3,
                    '',
                    'group3',
                ],
                [
                    'item 4',
                    3,
                ],
            ],
            'itemGroups' => [
                'group1' => 'Group 1 with items',
                'group2' => 'Group 2 with no items',
                'group3' => 'Group 3 with items',
            ],
            'size' => 6,
        ],
    ],
]