Object 当设置为隐藏在后端类型3中时检索控制器中的对象
我正在使用新闻扩展管理我的网站的新闻消息。某些新闻项目在后端被禁用。用户有一个id为news对象的url,它将在我的控制器中触发一个操作 我正试图得到我的新闻对象像这样Object 当设置为隐藏在后端类型3中时检索控制器中的对象,object,typo3,tx-news,Object,Typo3,Tx News,我正在使用新闻扩展管理我的网站的新闻消息。某些新闻项目在后端被禁用。用户有一个id为news对象的url,它将在我的控制器中触发一个操作 我正试图得到我的新闻对象像这样 $news = $this->newsRepository->findByUid($id); 这将返回NULL,因为它在后端被禁用/隐藏。当我将其切换回启用状态时。它会很好地返回我的对象 我在newsRepository中尝试了以下功能 public function findHiddenByUid($uid) {
$news = $this->newsRepository->findByUid($id);
这将返回NULL,因为它在后端被禁用/隐藏。当我将其切换回启用状态时。它会很好地返回我的对象
我在newsRepository中尝试了以下功能
public function findHiddenByUid($uid) {
$query = $this->createQuery();
$query->getQuerySettings()->setRespectSysLanguage(FALSE);
$query->getQuerySettings()->setRespectStoragePage(FALSE);
$query->getQuerySettings()->setEnableFieldsToBeIgnored(array('disable'));
return $query
->matching(
$query->equals('uid', $uid)
)
->execute()
->getFirst();
}
但这也将返回空值
功能是否错误,是否缺少一些设置?我正在使用TYPO3 7.6查看我在新闻分机中使用的findByUid:
public function findByUid($uid, $respectEnableFields = true)
{
$query = $this->createQuery();
$query->getQuerySettings()->setRespectStoragePage(false);
$query->getQuerySettings()->setRespectSysLanguage(false);
$query->getQuerySettings()->setIgnoreEnableFields(!$respectEnableFields);
return $query->matching(
$query->logicalAnd(
$query->equals('uid', $uid),
$query->equals('deleted', 0)
))->execute()->getFirst();
}
通过调用->findByUid123,false也将返回隐藏对象。谢谢。这似乎有效,但它返回了一个查询结果。因此,当我尝试使用setHidden0时,它在未定义的方法下不起作用,因为它现在不是新闻模型。有什么建议吗?对不起我的错。我使用findById,而不是findByUid。它起作用了!谢谢