From 4b78ff8eafe19194fba51c88dfff8c701e631050 Mon Sep 17 00:00:00 2001 From: Philipp Dieter Date: Sun, 13 Jun 2021 19:35:57 +0200 Subject: [PATCH] [TASK] Add tca utility --- Classes/Utility/TcaUtility.php | 70 ++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 Classes/Utility/TcaUtility.php diff --git a/Classes/Utility/TcaUtility.php b/Classes/Utility/TcaUtility.php new file mode 100644 index 0000000..c188135 --- /dev/null +++ b/Classes/Utility/TcaUtility.php @@ -0,0 +1,70 @@ + + * + ***/ + +use TYPO3\CMS\Extbase\Utility\LocalizationUtility; + +/** + * + */ +class TcaUtility +{ + /** + * fills object from array + * + * @return void + */ + public static function configureSelect( + &$tca, $column, $options, $extensionKey = null + ) { + foreach ($options as &$option) { + $translation = self::getTranslation( + 'option.' . $option[0], $extensionKey + ); + if ($translation) { + $option[0] = $translation; + } + } + $tca['columns'][$column]['config']['type'] = 'select'; + $tca['columns'][$column]['config']['renderType'] = 'selectSingle'; + $tca['columns'][$column]['config']['size'] = 6; + $tca['columns'][$column]['config']['appearance'] = []; + $tca['columns'][$column]['config']['items'] = $options; + } + + /** + * shortcut to get translation + * + * @return void + */ + public static function getTranslation($key, $extensionKey) + { + if ($extensionKey) { + $translation = LocalizationUtility::translate( + $key, + $extensionKey + ); + if ($translation) { + return $translation; + } + } + $translation = LocalizationUtility::translate( + $key, + 'site_templates' + ); + if ($translation) { + return $translation; + } + return null; + } +}