php - 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();
解决方案
推荐阅读
- excel - VBA - 如何在特定标题值下选择多行
- java - 尝试在 Swing 中保存图形图像会导致图像被截断,每隔几张图像
- c - C 中 realloc 的问题。我尝试动态构建一个向量,输出是正确的,但 valgrind 提示我内存有问题
- reactjs - 等待 Cloud Firestore 再渲染
- ruby - Google People API:来自非空联系人组的 member_resource_names 返回 nil
- rust - 从关闭返回时的 RefMut 生命周期错误
- setstate - 为什么 setState 无法重述小部件类
- core-data - 保存 NavigationLink 选择
- python - 将 if 语句与 tkinter 事件一起使用
- python - 使用对数刻度时,Seaborn 热图会在颜色条上生成额外的刻度