我们从另一家公司接管了一个项目,需要更新他们的TYPO3。我们现在在最近的8.7.13。
有一个产品扩展程序可将产品,组和项目过滤到一个视图中。由于未知原因,以下输出2个产品,它们都是相同的:
public function findByObjekt($uid) {
$query = $this->createQuery();
$query->matching(
$query->contains('objekte', $uid),
$query->equals('objekte.hidden',0),
$query->equals('objekte.deleted',0)
);
$query->getQuerySettings()->setRespectStoragePage(FALSE);
$query->getQuerySettings()->setRespectSysLanguage(FALSE);
return $query->execute();
}
在返回控制器输出之前,有没有办法删除重复的条目/对象?我检查了多个文档但找不到具有独特结果的方法(这是可能通常不需要...)。另一个想法是处理流体模板中的重复逻辑,但这是一个相当糟糕的解决方案,我猜。
答案 0 :(得分:0)
我假设您在默认语言和一个本地化中拥有所需的记录。 使用extbase,原始语言记录及其所有本地化具有相同的标识符(uid),尽管它们在数据库中是不同的。 Extbase通常只能使用当前语言查找记录。
在您setRespectSysLanguage(FALSE)
时,extbase不会按语言进行过滤。这就是你收到两条记录的原因。
为什么你将respectSysLanguage设置为false?