1

我正在使用 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 完成,但我不太了解内部情况。

提前致谢

4

1 回答 1

1

前端的语言覆盖发生在这方面https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/frontend/Classes/Aspect/FileMetadataOverlayAspect.php

于 2016-11-04T18:21:09.123 回答