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 itemsProcFunc
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
itemsProcFunc
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][config]
section of columns with TCA type select
triggers a PHP E_USER_DEPRECATED
error.
When extending AbstractItemProvider
and directly calling
addItemsFromSpecial()
, also a PHP E_USER_DEPRECATED
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 AbstractItemProvider->addItemsFromSpecial()
.
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 itemsProcFunc
in such case. Either by creating
your own implementation or by copying the one from Core. Have a look at the
index_config
TCA configuration in EXT:indexed_search how this can be
achieved. You can also find detailed information about itemsProcFunc
in the documentation.