Ok, ich habe das soeben mal praktisch nachvollzogen. Mit diesem Setup klappt es:
In der Datei ext_tables.sql
:
CREATE TABLE sys_file_metadata
(
additional_info text
);
CREATE TABLE sys_file_reference
(
additional_info text
);
In der Datei Configuration/TCA/Overrides/sys_file_metadata.php
:
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
// Add some fields to sys_file_metadata table to show TCA fields definitions
ExtensionManagementUtility::addTCAcolumns('sys_file_metadata',
[
'additional_info' => [
'exclude' => 0,
'label' => 'LLL:EXT:sitepackage/Resources/Private/Language/locallang_db.xlf:sys_file_metadata.additional_info',
'config' => [
'type' => 'input',
],
],
]
);
ExtensionManagementUtility::addToAllTCAtypes(
'sys_file_metadata',
'additional_info',
'',
'after:description'
);
In der Datei Configuration/TCA/Overrides/sys_file_reference.php
:
<?php
use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
defined('TYPO3') or die();
// Add some fields to sys_file_reference table to show TCA fields definitions
ExtensionManagementUtility::addTCAcolumns('sys_file_reference',
[
'additional_info' => [
'exclude' => 0,
'label' => 'LLL:EXT:sitepackage/Resources/Private/Language/locallang_db.xlf:sys_file_metadata.additional_info',
'config' => [
'type' => 'input',
'default' => '',
'eval' => 'null',
'mode' => 'useOrOverridePlaceholder',
'placeholder' => '__row|uid_local|metadata|additional_info',
],
],
]
);
ExtensionManagementUtility::addFieldsToPalette('sys_file_reference', 'imageoverlayPalette', '--linebreak--,additional_info');
(gilt für die Image-Palette, müsste ggfls. noch für weitere Paletten wie etwa videoOverlayPalette
erweitert werden)
Interessant sind hier 'mode' => 'useOrOverridePlaceholder'
in Kombination mit 'placeholder' => '__row|uid_local|metadata|additional_info'
, um den Default-Wert aus einer anderen Tabelle zu beziehen.
Siehe: https://docs.typo3.org/m/typo3/reference-tca/main/en-us/ColumnsConfig/CommonProperties/Placeholder.html#tca_property_placeholder
In der Datei Resources/Private/Language/locallang_db.xlf
:
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" original="messages" datatype="plaintext" product-name="sitepackage" date="2024-06-03T15:06:30+02:00">
<header></header>
<body>
<trans-unit id="sys_file_metadata.additional_info" resname="sys_file_metadata.additional_info">
<source>Additional Info</source>
</trans-unit>
</body>
</file>
</xliff>