我正在尝试通过这样的扩展库中的函数来从命令控制器获取翻译的记录。
function findAllForLang($lang){
//$lang = 1;
$query = $this->createQuery();
$query->getQuerySettings()->setRespectSysLanguage(false);
$query->getQuerySettings()->setLanguageMode(false);
$query->getQuerySettings()->setLanguageUid($lang);
$query->getQuerySettings()->setLanguageOverlayMode('hideNonTranslated');
$query->matching(
$query->logicalAnd(
$query->equals('sys_language_uid', $lang),
//$query->equals('mmfield.sys_language_uid', $lang)
)
);
return $query->execute();
我正在获取翻译的记录。但是mm内联记录不会被翻译并获得默认的语言记录。是否有获取所有已翻译内联记录的特定方法?TYPO3版本是8.7.20谢谢
关于使用Extbase获取翻译后的关系存在一个长期存在的错误:https://forge.typo3.org/issues/57272
对于TYPO3 v9 +已修复。
对于您的情况,我建议您使用(较新的)dctrine-dbal API自己构建查询:https://docs.typo3.org/m/typo3/reference-coreapi/8.7/en-us/ApiOverview/Database/QueryBuilder/Index.html