我们从另一家公司接手了一个项目,需要更新他们的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();
}在将重复的条目/对象返回给控制器输出之前,有什么方法可以删除这些条目/对象吗?,我检查了多个文档,但是找不到唯一结果的方法(这可能通常不需要.)。另一个想法是处理流体模板中的重复逻辑,但我想这是一个非常糟糕的解决方案。
发布于 2018-05-09 12:30:51
我假设您在默认语言和一种本地化中都有所需的记录。使用extbase,原始语言记录及其所有本地化都具有相同的标识符(uid),尽管它们在数据库中是不同的。Extbase通常只查找当前语言的记录。
正如您的setRespectSysLanguage(FALSE)一样,extbase不会通过语言进行过滤。所以你才会收到两张唱片。
为什么要将respectSysLanguage设置为false?
https://stackoverflow.com/questions/50240798
复制相似问题