根据后端表单中记录的语言设置默认值

问题描述 投票:0回答:1

我想在 TYPO3 后端中为自定义字段(输入或 RTE 字段)设置特定于语言的默认值,因此类似于设置

$GLOBALS['TCA']['tx_myrecords_domain_model_record']['columns']['disclaimer']['config']['default']
,但给它一个不同的值,取决于记录的语言( sys_language_uid)。

例如如果记录是默认语言,“免责声明”的默认值为“请考虑我们的...”,并且翻译记录中的“Bitte beachten Sie unsere ...”(德语)。

enter image description here

据我所知,

  • 可以使用
    TCAdefaults.tx_myrecords_domain_model_record.disclaimer
    设置默认值(但它总是相同的,不依赖于语言)。这也适用于 RTE 字段并在默认文本中使用 HTML。
  • 无法在 TCA 中设置动态默认值
  • 例如可以设置特定于语言的标签。这不是我想要的(这设置了“标签”,而不是“默认”,并且取决于 BE 用户的语言,而不是记录的语言)。
TS配置:

TCEFORM.pages.title { label = LLL:EXT:my_ext/Resources/Private/Language/locallang.xlf:table.column label.default = New Label label.de = Neuer Feldname }

https://docs.typo3.org/m/typo3/reference-tsconfig/main/en-us/PageTsconfig/TceForm.html#tceform_label-example


适用于 TYPO3 版本 >= v12。

typo3
1个回答
0
投票
您需要调整 TCA

types 配置,而不是 columns 配置。一旦确定了类型(可能是默认类型,即 0

),您可以指定不同的默认值,如下所示:

TCEFORM.tx_myrecords_domain_model_record.disclaimer.types.0.default { 0 = Default value in default language 1 = Default value in English 2 = Default value in another language }

    
© www.soinside.com 2019 - 2024. All rights reserved.