[TYPO3-german] TCA/Overrides/tt_content.php
Christian Tauscher
christian.tauscher at media-distillery.de
Wed May 24 11:06:56 CEST 2017
Hallo zusammen.
In der Datei TCA/Overrides/tt_content.php ändere ich die TCA Formulare
etwas neu.
z.B. verbanne ich die imageborder zur Klickvergößerung:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addFieldsToPalette(
'tt_content',
'imagelinks',
'image_zoom, imageborder'
);
Dann nehm ich die image_border aus der Palette mediaAdjustments raus:
$GLOBALS['TCA']['tt_content']['palettes']['mediaAdjustments']['showitem']
= preg_replace('/imageborder(.*,|.*$)/', '',
$GLOBALS['TCA']['tt_content']['palettes']['mediaAdjustments']['showitem'],
1);
So jetzt möchte ich bei diversen types komplette paletten entfernen.
Das wird schon weniger elegant:
$GLOBALS['TCA']['tt_content']['types']['image']['showitem'] =
str_replace(
'--palette--;LLL:EXT:...gallerySettings;gallerySettings',
'',
$GLOBALS['TCA']['tt_content']['types']['image']['showitem']
);
Dieser Teilstring macht mir etwas kopfzerbrechen, scheint mir sehr wackelig:
--palette--;LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.palette.gallerySettings;gallerySettings
Ein Feld entfernet man so:
preg_replace('/imageborder(.*,|.*$)/', '', ....
weil der String mit imageborder beginnt und mit einem ',' oder dem
'Ende' endet. imageborder ist auch gleich noch der feldname. also ganz
einfach.
Aber der palette-String beginnt mit einem Wort das ständig auftritt und
nur das Ende ist durch den paletten Namen klar benannt.
--palette--;LLL:EXT:frontend/Resources/Private/Language/Database.xlf:tt_content.palette.gallerySettings;gallerySettings
Gibts das eine API Funktion? Oder kennt jemand den REGEX Ausdruck mit
dem das elegant geht und auch morgen noch funktioniert wenn der
LLL-String einen neuen Pfad erhält?
Danke für Teilen,
Christian.
More information about the TYPO3-german
mailing list