TYPO3 CMS 7.6 LLL翻译默认不起作用

时间:2016-11-22 08:37:37

标签: typo3

正在处理一个应该有基于LLL翻译的默认字段的字段。

'default' => 'LLL:EXT:myext/Resources/Private/Language/Backend.xlf:field.myfield.default',

我希望翻译中定义的值,但它包含字符串''LLL:EXT:myext / Resources / Private / Language / Backend.xlf:field.myfield.default'。如何使用LLL Translation在TCA中定义默认值?

cu n00n

1 个答案:

答案 0 :(得分:2)

这只能由自定义FormProvider实现,因为其中一个核心还不支持这个。签出代码

        // Special handling for eval null
        if (!empty($fieldConfig['config']['eval']) && GeneralUtility::inList($fieldConfig['config']['eval'], 'null')) {
            if (// Field exists and is set to NULL
                array_key_exists($fieldName, $databaseRow)
                // Default NULL is set, and this is a new record!
                || (array_key_exists('default', $fieldConfig['config']) && $fieldConfig['config']['default'] === null)
            ) {
                $newRow[$fieldName] = null;
            } else {
                $newRow[$fieldName] = (string)$fieldConfig['config']['default'];
            }
        } else {
            // Fun part: This forces empty string for any field even if no default is set. Unsure if that is a good idea.
            $newRow[$fieldName] = (string)$fieldConfig['config']['default'];
        }

您可以在https://forge.typo3.org/projects/typo3cms-core/issues处打开问题。

与此同时,我做了一个小扩展,可以使用所需的功能。这可以在这里找到:https://github.com/georgringer/defaultlll