0

我的一些新闻用于不同的语言。要存档,我需要将此新闻的语言设置为 ALL (ID: -1)。当我这样做时,新闻工作,但图像不起作用,因为图像是 sys_file_reference,这不会改变语言。此外,后端根本没有更改图像语言的字段,因此我需要在数据库中执行此操作。

我发现了这个问题的错误报告:
https ://forge.typo3.org/issues/48883

我使用错误报告中的“修复”,以便至少可以更改后端的语言:

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

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

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

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

4

1 回答 1

0

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

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

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

于 2016-08-29T14:36:56.323 回答