В настоящее время мы не можем найти решение Extbase, которое не соответствует ожиданиям.
В контроллере у нас есть это:
$referenz = $this->referenzRepository->findByUid($this->settings['zentrum']);
Возвращает объект, как и ожидалось. Теперь есть два других языка, где не все переведено и не должно появляться на переведенной странице. Второй набор данных не должен выводиться в переводе, потому что он не переведен:
Тем не менее, он выводится на языке по умолчанию. Мы установили эти глобальные переменные и не можем их изменить по разным причинам.
config.sys_language_mode = ignore
config.sys_language_overlay = hideNonTranslated
Мы попробовали пользовательскую функцию для возврата объекта, но ничего не выводилось:
public function findReferenzByUid($uid)
{
$query = $this->createQuery();
$query->getQuerySettings()->setRespectSysLanguage(false);
$result = $query->matching(
$query->logicalAnd(
$query->equals('uid', intval($uid)),
$query->equals('sys_language_uid', $GLOBALS['TSFE']->sys_language_uid)
)
);
return $query->execute();
}
Как мы могли бы достичь этого? Проблема в том, что это объекты внутри другого объекта. «Материнский» объект переведен, и это правильно.