TYPO3: установка значений по умолчанию для конкретных типов в TCA

В моей среде можно установить значение по умолчанию для всех элементов содержимого, используя

$GLOBALS['TCA']['tt_content']['columns']['rowDescription']['config']['default'] = 'Default Value';

Но переопределение для одного конкретного элемента содержимого невозможно:

$GLOBALS['TCA']['tt_content']['types']['new_ce']['columnsOverrides']['rowDescription']['config']['default'] = 'New Description';

Все остальные конфигурации можно изменить (как и этикетку):

$GLOBALS['TCA']['tt_content']['types']['new_ce']['columnsOverrides']['rowDescription']['label']= 'This is the new label';

Как я могу изменить значение по умолчанию для new_ce?


person Jonas    schedule 02.11.2017    source источник


Ответы (1)


Афаик в настоящее время невозможен.

Техническая причина в formEngine заключается в том, что значения TCA по умолчанию применяются до вычисления «типа», поскольку значения по умолчанию влияют на определение типа. Таким образом, их нельзя поменять местами.

Кроме того, это невозможно через страницу TSconfig, так как TCAdefaults также не обрабатывает специфические для типа настройки.

person Christian Kuhn    schedule 02.11.2017
comment
Знаете ли вы, есть ли другое (более сложное) решение, например, использование сигнала или что-то подобное. - person Jonas; 02.11.2017
comment
Возможно, вы сможете достичь своей цели, добавив поставщика данных formEngine в группу tcaDatabaseRecord после DatabaseRowInitializeNew. Это не может быть сделано обычным способом, но вы могли бы сделать части определения типа раньше для вашего варианта использования в этом провайдере, а затем установить соответствующие значения по умолчанию в data ['databaseRow']. Тогда код зависит от того, насколько гибким / наименее жестко запрограммированным вы хотите решить эту проблему. Более подробную информацию об этой части formEngine можно найти на странице docs.typo3 .org / typo3cms / CoreApiReference / ApiOverview / FormEngine / - person Christian Kuhn; 07.11.2017
comment
Это все еще невозможно? Борюсь с этим прямо сейчас в 10.4: P - person Naderio; 16.03.2021