tx_news:将新闻语言更改为ALL,sys_file_reference不会更改

时间:2016-08-26 14:11:23

标签: typo3 extbase typo3-7.6.x tx-news

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

这里棘手的部分是你需要根据原始记录的类型(tx_news条目)修改相关记录(sys_file_reference)。 DataHandler按顺序处理记录,因为它们是由HTML表单发送的。诀窍在于,基础(在你的情况下是新闻)记录总是先到,所以你可以使用这些信息找出你的自定义逻辑何时需要启动。

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

中记录了注册此类挂钩