sortItems¶
New in version 10.4: sortItems
allows sorting of static select items
by their values or labels.
- sortItems¶
- Path
$GLOBALS['TCA'][$table]['columns'][$field]['config']
- Type
array
- Scope
Display
- RenderType
all
The property
sortItems
allows sorting of static select items by their values or labels.Built-in orderings are to sort items by their labels or values. It is also possible to define custom sorting via PHP code.
When using grouped select fields with itemGroups, sorting happens on a per-group basis - all items within one group are sorted - as the group ordering is preserved.
Examples¶
Sort items by label¶

EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php¶
[
'columns' => [
'select_single_18' => [
'label' => 'select_single_18',
'description' => 'sortItems label asc',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'label' => 'Plum tree',
'value' => 1,
],
[
'label' => 'Walnut tree',
'value' => 2,
],
[
'label' => 'Apple tree',
'value' => 3,
],
[
'label' => 'Cherry tree',
'value' => 4,
],
],
'sortItems' => [
'label' => 'asc',
],
'size' => 4,
],
],
],
]
Sort items by value¶

EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php¶
[
'columns' => [
'select_single_19' => [
'label' => 'select_single_19',
'description' => 'sortItems value desc',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'label' => 'Plum tree',
'value' => 1,
],
[
'label' => 'Walnut tree',
'value' => 2,
],
[
'label' => 'Apple tree',
'value' => 3,
],
[
'label' => 'Cherry tree',
'value' => 4,
],
],
'sortItems' => [
'value' => 'desc',
],
'size' => 4,
],
],
],
]
Sort items by a custom method¶
The following custom method sorts the items by their reversed labels:

EXT:styleguide/Configuration/TCA/tx_styleguide_elements_select.php¶
[
'columns' => [
'select_single_20' => [
'label' => 'select_single_20',
'description' => 'sortItems custom',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'items' => [
[
'label' => 'Plum tree',
'value' => 1,
],
[
'label' => 'Walnut tree',
'value' => 2,
],
[
'label' => 'Apple tree',
'value' => 3,
],
[
'label' => 'Cherry tree',
'value' => 4,
],
],
'sortItems' => [
'tx_styleguide' => 'TYPO3\\CMS\\Styleguide\\UserFunctions\\FormEngine\\SelectItemSorter->sortReverseTitles',
],
'size' => 4,
],
],
],
]
<?php
declare(strict_types=1);
namespace TYPO3\CMS\Styleguide\UserFunctions\FormEngine;
/**
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
/**
* A user function to sort ites
*/
class SelectItemSorter
{
/**
* Sort items by their reverse titles
*
* @param array $items
*/
public function sortReverseTitles(&$items): void
{
@usort(
$items,
function ($item1, $item2) {
return strcasecmp(strrev((string)$item1[0]), strrev((string)$item2[0]));
}
);
}
}