我正在使用 TYPO3 6.2.27。我们正在使用自定义 FAL 驱动程序,它为 FAL 记录创建本地化元数据。但在前端,我们只获得 sys_language_uid 为 0 的元数据(例如在标题中)。数据库条目看起来不错。
我深入研究了核心并找到了负责渲染文本的 FilesContentObject。这将从数据库中加载文件。元数据被加载到TYPO3\CMS\Core\Resource\File
类中。这最终调用了MetaDataRepository::findByFileUid()
. 这不尊重当前的 sys_language 但向查询添加了默认约束:
protected function getGeneralWhereClause() {
return ' AND sys_language_uid IN (0,-1) AND pid=0';
}
该链中的谁负责添加正确的 sys_language 约束?我认为这应该由 MetaDataRepository 完成,但我不太了解内部情况。
提前致谢