2016-07-27 51 views
1

管理站點配置關閉 安全>羣體>內容創作的默認值>權限SilverStripe默認內容作者權限

enter image description here

雖然它可以簡單地勾選和激活這個,我寧願爲每個SS安裝默認這個。

如何將默認值設置爲on

+0

順便說一句,你可以在這些問題上標記PHP,因爲這是Silverstripe的首選語言? – Barry

+0

絕對,補充。 – Faloude

回答

1

這應該根據需要做,擴展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 
+0

乾杯巴里,你能再次運行代碼嗎?似乎有一些問題。我認爲'content-authors'應該放在括號內,'arrPermissionData'會拋出一個SS錯誤 – Faloude

+0

丟失報價那裏是,對不起 – Barry

+0

dev/build?flush it returns:'使用undefined constant arrPermissionData - 假設'arrPermissionData' – Faloude