【发布时间】:2016-07-27 12:49:42
【问题描述】:
【问题讨论】:
-
顺便说一句,您是否有机会在这些问题上标记 PHP,因为这是 Silverstripe 的首选语言?
-
当然,添加。
标签: php silverstripe
【问题讨论】:
标签: php silverstripe
这应该根据需要进行,扩展 Group 并添加一个 requireDefaultRecords 函数,这在每个开发版本中都会调用。
此功能用于查找该权限,如果不存在则创建它...
class GroupExtension extends DataExtension {
function requireDefaultRecords() {
//get the content-authors group
if ($group = Group::get()->filter('Code','content-authors')->first()) {
//expected permission record content
$arrPermissionData = array(
'Arg' => 0,
'Type' => 1,
'Code' => 'EDIT_SITECONFIG',
'GroupID' => $group->ID
);
//if the permission is not found, then create it
if (!Permission::get()->filter($arrPermissionData)->first())
Permission::create($arrPermissionData)->write();
}
}
}
一如既往地注册扩展,将其添加到您的 config.yml...
Group:
extensions:
- GroupExtension
【讨论】:
arrPermissionData 会引发 SS 错误
Use of undefined constant arrPermissionData - assumed 'arrPermissionData'
arrPermissionData 放入括号后返回:[Warning] Invalid argument supplied for foreach() Line 381 in ..../public_html/framework/model/DataList.php