首页 > 解决方案 > Typo3 8.7.x / Extbase:获取内容对象的选定类别

问题描述

如何在我的控制器上获取内容元素的选定类别?我有一个插件,编辑器必须选择系统类别,但我不知道如何在我的控制器上获取选定的 uids/类别。tt_content 的字段类别仅显示所选类别的数量。

目前我在我的控制器上使用以下代码,但我无法想象现在还有其他(更好的)方法:

    $uid = $this->configurationManager->getContentObject()->data['uid'];

    $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()->eq('mm.uid_foreign', $uid),
            $queryBuilder->expr()->eq('mm.tablenames', $queryBuilder->quote('tt_content')),
            $queryBuilder->expr()->eq('mm.fieldname', $queryBuilder->quote('categories'))
        )
    );

    $result = $query->execute();

标签: phptypo3fluidextbasetypo3-8.x

解决方案


推荐阅读