Typo3 根据'tt_content'行的'CType'为其使用'TCA_DESCR'`

Typo3 根据'tt_content'行的'CType'为其使用'TCA_DESCR'`,typo3,backend,typo3-6.2.x,Typo3,Backend,Typo3 6.2.x,TCA_DESCR中的配置用于CSH帮助文本;类似于$GLOBALS['TCA_DESCR'][$table]['columns'][$field]=array'description'=>。。。。TYPO3 CMS是否提供了将此配置用于tt_内容的子类型CType的任何内容 我这样做是因为您可以根据tt_内容中的行的子类型CType更改该行的字段标签。例如,将内容对象的字段标题命名为Foo-as-Bar类型,而不是标题。但您似乎无法更改CSH帮助文本,因为当我查看FormEngine::get

TCA_DESCR中的配置用于CSH帮助文本;类似于$GLOBALS['TCA_DESCR'][$table]['columns'][$field]=array'description'=>。。。。TYPO3 CMS是否提供了将此配置用于tt_内容的子类型CType的任何内容

我这样做是因为您可以根据tt_内容中的行的子类型CType更改该行的字段标签。例如,将内容对象的字段标题命名为Foo-as-Bar类型,而不是标题。但您似乎无法更改CSH帮助文本,因为当我查看FormEngine::getSingleField时,帮助函数BackendUtility::wrapInHelp仅与三个参数一起使用,因此使用默认的CSH帮助文本。这在我看来没有任何意义,因为当我用自定义前端模板定义自定义子类型时,我确切地知道该字段在这种情况下的用途,并且它可能与其他子类型略有不同


因此,我看到的唯一可能是为$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms.php']的hook getSingleField_后处理编写一个丑陋的处理程序,以获得我所需要的。我说得对吗?

你说得对。表说明绑定到每个表/字段。因此,您无法根据某些条件对其进行更改,除非您自己钩住核心进行更改。

不幸的是,在我上面提到的钩子中,我将获得渲染标记,因此我不会遵循此路径。相反,我只是在自定义内容类型需要时引入新字段。但有点奇怪的是,您可以根据某些条件更改标签,但帮助文本始终保持不变。更改标签的原因是,您可以根据所选的记录子类型为不同的数据使用字段。例如,tt_内容。我建议不要这样做,而是使用更多的字段,只显示当前子类型中所需的字段,或者使用不同的表。完全正确!当你不能为标签帮助做同样的事情时,这种可能性是不成熟的。因此,在我看来,要么你可以完全“滥用”现有字段,要么你不这样做,但当前状态介于两者之间。无论如何,我已经写了你的建议,因为缺乏通过更改现有字段的标签帮助的支持,我必须为我的自定义类型新字段列的每个属性编写;这在某些情况下有点愚蠢,例如标题之类的东西。