默认情况下,PermissionCode
未授予特定ContentAuthor
。这是关于权限代码EDIT_SITECONFIG
(允许内容作者查看和编辑“设置”部分)。
此权限可授予roles
:
Security > Groups > Content Authors > Permissions
> 管理网站配置
如何在默认情况下强制将此权限授予ContentAuthors
?
答案 0 :(得分:3)
我们可以为调用Group
的{{1}}类添加扩展名来修改此变量。
<强> mysite的/代码/扩展/ CustomGroup.php 强>
requireDefaultRecords
我们在class CustomGroup extends DataExtension {
public function requireDefaultRecords() {
parent::requireDefaultRecords();
$contentAuthorGroup = Group::get()->filter('Code', 'content-authors')->first();
if ($contentAuthorGroup) {
Permission::grant($contentAuthorGroup->ID, 'EDIT_SITECONFIG');
}
}
}
文件中启用了Group
扩展名。
<强> mysite的/ _config / config.yml 强>
config.yml
此解决方案需要注意的一点是,每次调用Group:
extensions:
- CustomGroup
时,它都会更新EDIT_SITECONFIG
权限设置。这意味着如果通过CMS关闭此权限,则会在下次调用dev/build
时将其切换回来。
另一种方法是在第一个数据库构建中创建内容作者组。这只会设置dev/build
一次,允许它通过CMS覆盖。
EDIT_SITECONFIG