---
title: "['columns'] Section"
manual: "TYPO3 Explained"
version: "13.4"
permalink: "https://docs.typo3.org/permalink/t3coreapi:user-settings-columns@13.4"
source: "Configuration/UserSettingsConfiguration/Columns.rst"
rendered: "2026-10-05T17:28:20+00:00"
---

# \['columns'\] Section {#user-settings-columns}

This contains the configuration array for single fields in the user
settings. This array allows the following configurations:

-   **type**

    -   *Type:* string
    -   *Allowed values:* `button`, `check`, `password`, `select`, `text`, `user`

    Defines the type of the input field

    If `type == user`, then you need to define your own `renderType` too.
    If selectable items shall be filled by your own function, then you can use `type == select` and `itemsProcFunc`.

    **Example:**

    ```php
    'startModule' => [
       'type' => 'select',
       'itemsProcFunc' => 'TYPO3\\CMS\\Setup\\Controller\\SetupModuleController->renderStartModuleSelect',
       'label' => 'LLL:EXT:setup/mod/locallang.xlf:startModule',
    ],
    ```

-   **label**

    -   *Type:* string

    Label for the input field, should be a pointer to a localized
    label using the `LLL:` syntax.

-   **buttonLabel**

    -   *Type:* string

    Text of the button for type=button fields.
    Should be a pointer to a localized label using the `LLL:` syntax.

-   **access**

    -   *Type:* string
    -   *Allowed values:* `admin`

    Access control. At the moment only a admin-check is implemented

-   **table**

    -   *Type:* stringstring
    -   *Allowed values:* `be_users`

    If the user setting is saved in a DB table, this property sets the
    table. At the moment only `be_users` is implemented.

-   **items**

    -   *Type:* array

    List of items for type=select fields. This should be a simple associative
    array with key-value pairs.

-   **itemsProcFunc**

    -   *Type:* array

    Defines an external method for rendering items of select-type fields.
    Contrary to what is done with the TCA you have to render the \<select>
    tag too. Only used by type=select.

    Use the usual class->method syntax.

-   **clickData.eventName**

    -   *Type:* string

    JavaScript event triggered on click.

-   **confirm**

    -   *Type:* boolean

    If true, JavaScript confirmation dialog is displayed.

-   **confirmData.eventName**

    -   *Type:* string

    JavaScript event triggered on confirmation.

-   **confirmData.message**

    -   *Type:* string

    Confirmation message.
