如何自定义CMS?

时间:2016-04-08 12:24:58

标签: silverstripe

我创建了简单的数据对象:

?>

请告诉我如何自定义我的ModelAdmin,以便所有用户只能查看所有对象,只有所有者(ID == MemberID的用户)可以编辑和删除他的对象? 结果我想看到这样的图片:[https://yadi.sk/i/o5Nys_szqnPtQ ]

我尝试使用这样的代码:

class Documents extends DataObject {
     private static $db = array(
       'DocType' => 'Text',
       'ApprovalDate' => 'Date',
       'PublicationDate' => 'Date',
       'DocNumber' => 'Text',
       'DocTitle' => 'Text'

);

private static $has_one = array(
      'Member' => 'Member'
);

如何在GridField的行中获取$ Value_of_MemberID_Field?

1 个答案:

答案 0 :(得分:3)

您应该查看模型权限:https://docs.silverstripe.org/en/3.3/developer_guides/model/permissions/

对于您的示例,它可能看起来像这样:

public function canEdit($member = null) {
    return (Member::currentUserID() == $this->MemberID);
}

public function canDelete($member = null) {
    return (Member::currentUserID() == $this->MemberID);
}