Typo3 8.7.x / Extbase: получение выбранных категорий объекта содержимого - PullRequest
0 голосов
/ 11 октября 2018

как получить выбранные категории элемента содержимого на моем контроллере?У меня есть плагин, где редактор должен выбирать системные категории, но я не знаю, как получить выбранные 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...