SilverStripe разрешения по умолчанию для авторов контента
Значение по умолчанию для управления конфигурацией сайта отключено:безопасность> группы> авторы контента> разрешения
Хотя можно просто установить флажок и активировать его, я бы предпочел включить его по умолчанию для каждой установки SS.
Как значение по умолчанию для этого может быть установлено на?
1 ответ
Решение
Это должно сделать, как требуется, сделать расширение Group
и добавить requireDefaultRecords
функция, она вызывается при каждой сборке dev.
Эта функция предназначена для поиска этого разрешения и, если его еще нет, создайте его...
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