Breaking: #78384 - Frontend ignores TCA in ext_tables.php¶
See forge#78384
Description¶
Frontend requests no longer load ext_tables.php
in requests. The only exception is if a backend user is
logged in to the backend at the same time to initialize the admin panel or frontend editing.
Impact¶
Since especially a not yet cached frontend call relies on initialized $GLOBALS['TCA']
, changes to TCA
done
within ext_tables.php
are now ignored and may fail.
Affected Installations¶
Extensions that still set, add or remove settings in $GLOBALS['TCA']
need to be adapted. The install tool
provides test "TCA ext_tables check" to find such extensions.
Migration¶
In ext_tables.php
neither writing directly to $GLOBALS['TCA']
and $TCA
is allowed, nor writing indirectly
via ExtensionManagementUtility
methods. An example list of calls and their new positions:
$GLOBALS['TCA']['someTable'] = `: A full table `TCA
is added. This must be moved toConfiguration/TCA/someTable.php
, seeext:sys_note
as example.ExtensionManagementUtility::addStaticFile()
: A static file is registered insys_template
. Add this toConfiguration/TCA/Overrides/sys_template.php
, seeext:rtehtmlarea
as example.ExtensionManagementUtility::addTCAcolumns()
: Columns are added to a table. Add this toConfiguration/TCA/Overrides/<table>.php
, seeext:felogin
as example.ExtensionManagementUtility::addToAllTCAtypes()
: Fields are added to types. Add this toConfiguration/TCA/Overrides/<table>.php
, seeext:felogin
as example.ExtensionManagementUtility::addPiFlexFormValue()
: A new flex from intt_content
is registered. Add this toConfiguration/TCA/Overrides/tt_content.php
, seeext:felogin
as example.ExtensionUtility::registerPlugin()
andExtensionManagementUtility::addPlugin
: A new type item is added to thett_content
table. Add this toConfiguration/TCA/Overrides/tt_content.php
.