TcaPreparation

Prepare TCA. Used in bootstrap and Flex Form Data Structures.

Internal

Class and API may change any time.

Table of Contents

Methods

prepare()  : array<string|int, mixed>
Prepare TCA
prepareFileExtensions()  : string
Ensures format, replaces placeholders and remove duplicates
configureCategoryRelations()  : array<string|int, mixed>
Prepares TCA configuration of type='category' fields.
configureFileReferences()  : array<string|int, mixed>

Methods

prepare()

Prepare TCA

public prepare(array<string|int, mixed> $tca) : array<string|int, mixed>

This class is typically called within bootstrap with empty caches after all TCA files from extensions have been loaded. The preparation is then applied and the prepared result is cached. For flex form TCA, this class is called dynamically if opening a record in the backend.

See unit tests for details.

Parameters
$tca : array<string|int, mixed>
Return values
array<string|int, mixed>

prepareFileExtensions()

Ensures format, replaces placeholders and remove duplicates

public static prepareFileExtensions(mixed $fileExtensions) : string
Parameters
$fileExtensions : mixed
Tags
todo

Does not need to be static, once FlexFormTools calls configureFileReferences() directly

Return values
string

configureCategoryRelations()

Prepares TCA configuration of type='category' fields.

protected configureCategoryRelations(array<string|int, mixed> $tca) : array<string|int, mixed>

It adds some TCA config settings so category fields end up with similar config as type='select' field, but in a more restricted way. Some settings could also be set in TCA directly, but some fields can not be overridden, e.g. foreign_table.

This also sets necessary MM properties, in case relationship is set to "manyToMany" (which is the default).

Finally all category fields with a "manyToMany" relationship are added to the MM_oppositeUsage of sys_category "items".

Important: Since this method defines a "foreign_table_where", this must always be executed before prepareQuotingOfTableNamesAndColumnNames().

Parameters
$tca : array<string|int, mixed>
Return values
array<string|int, mixed>

configureFileReferences()

protected configureFileReferences(array<string|int, mixed> $tca) : array<string|int, mixed>
Parameters
$tca : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results