Deprecation: #93837 - special property of TCA type select
See forge#93837
Description
The
special
property of TCA type
select
was introduced to enrich the
items array with dynamic values, e.g. the available site languages or
page types.
Since this usually is exactly what an
items
does, all
those options are migrated to such functions, removing complexity
from the TCA
select
type. As these options are mainly for internal
use in the backend user and backend usergroup records, the new
items
functions are marked as
@internal
. This means, they
are not considered public API and therefore not part of TYPO3s backwards
compatibility promise.
The only option which is considered public API is
special=languages
,
which was already migrated to the new TCA type
language
in forge#57082.
Impact
Using the TCA property
special
inside the
[columns]
section of columns with TCA type
select
triggers a PHP
E_
error.
When extending
Abstract
and directly calling
add
, also a PHP
E_
error will be raised.
The extension scanner will also detect such calls.
Affected Installations
All installations using the
special
property with TCA type
select
or
directly calling
Abstract
.
Migration
While it's very unlikely that the
special
property with another option
than
languages
is used in custom extension code, you nevertheless have to
replace them with a
items
in such case. Either by creating
your own implementation or by copying the one from Core. Have a look at the
index_
TCA configuration in EXT:indexed_search how this can be
achieved. You can also find detailed information about
items
in the documentation.