tx_news:将新闻的语言改为ALL, sys_file_reference不变



我的一些新闻被用在不同的语言上。为了存档,我需要将此新闻的语言设置为ALL (ID: -1)。当我这样做时,新闻工作,但图像不工作,因为图像是一个sys_file_reference,这不会改变语言。也没有字段来改变后端图像的语言,所以我需要在数据库中这样做。

我找到了这个问题的bug报告:
https://forge.typo3.org/issues/48883

并且我使用bug报告中的"fix",这样至少可以在后端更改语言:

$TCA['sys_file_reference']['palettes']['filePalette']['isHiddenPalette'] = 0;

(这将进入模板的ext_tables.php)。

无论如何,这不是一个好的解决方案,编辑经常会忘记更改(所有)图像的语言。

有人找到/知道一个更好的解决这个问题的方法吗?

您可以使用一个自定义函数,将其挂接到DataHandler(将后端表单存储在数据库中的组件)。

这里的棘手之处在于,您需要根据原始记录(tx_news条目)的类型修改相关记录(sys_file_reference)。DataHandler按顺序处理记录,因为它们是由HTML表单发送的。诀窍在于基本(在您的例子中是新闻)记录总是首先出现,因此您可以使用该信息来确定何时需要启动自定义逻辑。

在自定义钩子中,您可以使用基记录中的语言来设置子记录的语言。一个可能的钩是processDatamap_postProcessFieldArray。在TYPO3核心文档中记录了注册这样的钩子:https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Hooks/Configuration/Index.html

相关内容

  • 没有找到相关文章

最新更新