Kommt halt darauf an was du genau möchtest.
Ein bestehendes Layout-feld zu nutzen, ist natürlich einfacher.
- Nachteil: du kannst nicht irgendwas rein schreiben sondern bist an die "Auswahl" gebunden (bzw. der Redakteur)
- was für mich allerdings auch gleichzeitig der Vorteil ist, da nichts komisches passieren kann oder etwaige Typo Fehler nicht auftreten können.
Theoretisch schöner (je nach Anwendungsfall) fände ich aber wenn du selbst das Element um ein Feld ergänzt.
Das ist nur minimal aufwendiger.
Eigene Extension anlegen am einfachsten wohl mit dem ExtensionBuilder - nur die Notwendigsten Felder auf der linken Seite ausfüllen -> speichern - Fertig.
Dann gehst du zu deiner Extension und schreibst in die ext_tables.sql sowas wie:
CREATE TABLE sys_file_reference (
hoverline1 varchar(255) DEFAULT '' NOT NULL,
hoverline2 varchar(255) DEFAULT '' NOT NULL,
);
dann im Ordner/File /Configuration/TCA/Overrides/sys_file_reference.php sowas wie:
<?php
$tempColumns = array(
'hoverline1' => array(
'l10n_mode' => 'mergeIfNotBlank',
'label' => 'Hover text line 1',
'config' => [
'type' => 'input',
],
),
'hoverline2' => array(
'l10n_mode' => 'mergeIfNotBlank',
'label' => 'Hover text line 2',
'config' => [
'type' => 'input',
],
),
);
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns(
'sys_file_reference',
$tempColumns,
1
);
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
'sys_file_reference',
'imageoverlayPalette',
'--linebreak--,hoverline1,hoverline2',
'after:description'
);
in deinem Fluid-Template kannst du dann so darauf zugreifen:
{file.properties.hoverline1}