[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