对于我的BE用户组Redakteur
的成员能够编辑扩展的自定义内容元素(CE),我必须在BE中编辑组:Access Lists > Tables (modify)
并选择扩展的所有表,然后Access Lists > Explicitly allow/deny field values
并选择扩展的所有CE。
是否有一种方法可以自动使我的扩展的所有ce由Redakteur
组可编辑?
我发现添加:
$GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode'] = 'explicitDeny';
到扩展的ext_localconf.php
使所有ce允许(不是他们的表被修改,虽然)。问题是它也允许来自其他扩展的所有其他元素,这可能是一个安全问题,或者不是吗?
有什么办法可以做到吗?
提前感谢!
不幸的是,没有一种简单的方法可以使扩展的所有内容元素自动对所有编辑器或特定用户组的编辑器可用。
I wouldnot建议将[BE][explicitADmode]
切换到explicitAllow
,因为这意味着每次安装带有内容元素的新扩展时,您都需要调整编辑器权限。
可能的解决方案(未经测试):您可以将explicitDeny
与Page TSConfig和条件结合使用,以限制所有其他用户组的内容元素。但你的组Redakteur
就像这样:
[like(","~backend.user.userGroupList~",", "*,1,*")]
TCEFORM.tt_content.CType {
removeItems = header, text, textpic, image, gridelements_pi1, myothercontentelement
}
[END]
但是这仍然意味着你需要在每次添加新扩展时调整上面提到的删除项列表。
一些链接供您进一步研究:
- TCEFORM
- TypoScript和TSConfig条件参考(TYPO3 9.5及更新)
- backend.user.userGroupList参考