[英]TYPO3 8.7.x / Extbase: How to get flexform select treeview values?
[英]Typo3 8.7.x / Extbase: How to get the sys_category of a page
有人可以告诉我如何在我的扩展程序的控制器上获取页面的 sys_category 吗?
public function listAction()
{
//get the sys categories of (a) page
???
谢谢
现在我用 QueryBuilder 写了一个解决方案。 也许它可以帮助别人:
在我的扩展->控制器中
/**
* pagesRepository
*
* @var \TYPO3\CMS\Frontend\Page\PageRepository
* @inject
*/
protected $pageRepository = null;
在我的扩展->控制器->某个动作中:
foreach ($GLOBALS['TSFE']->rootLine as $page) {
$pageObject = $this->pageRepository->getPage($page['uid']);
if ($pageObject['categories']) {
$queryBuilder = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\ConnectionPool::class)->getQueryBuilderForTable('sys_category');
$query = $queryBuilder->select('sys_category.uid', 'sys_category.title')->from('sys_category');
$query->join(
'sys_category',
'sys_category_record_mm',
'mm',
$queryBuilder->expr()->andX(
$queryBuilder->expr()->eq('mm.uid_local', $queryBuilder->quoteIdentifier('sys_category.uid')),
$queryBuilder->expr()->in('mm.uid_foreign', $page['uid']),
$queryBuilder->expr()->eq('mm.tablenames', $queryBuilder->quote('pages')),
$queryBuilder->expr()->eq('mm.fieldname', $queryBuilder->quote('categories'))
)
);
$result = $query->execute()->fetchAll();
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.