Php SilverStripe gridField条目对于普通后端用户不可见
我有两个用户组管理员和在Altsautoren 我的登陆页面有一个标签摘要,带有一个网格字段。普通用户看不到条目,我不知道为什么 我找不到用于设置Inhaltsautoren权限的内容。有人知道为什么gridField中没有条目吗 trister.phpPhp SilverStripe gridField条目对于普通后端用户不可见,php,silverstripe,Php,Silverstripe,我有两个用户组管理员和在Altsautoren 我的登陆页面有一个标签摘要,带有一个网格字段。普通用户看不到条目,我不知道为什么 我找不到用于设置Inhaltsautoren权限的内容。有人知道为什么gridField中没有条目吗 trister.php <?php class Teaser extends DataObject { private static $db = array ( 'Title' => 'Varchar', 'Description'
<?php
class Teaser extends DataObject {
private static $db = array (
'Title' => 'Varchar',
'Description' => 'HTMLText'
);
private static $has_one = array (
'Photo' => 'Image',
'Link' => 'Link'
);
private static $many_many = array(
'Tags' => 'Tag'
);
private static $summary_fields = array (
'GridThumbnail' => '',
'Title' => 'Titel',
'Description' => 'Beschreibung'
);
public function getGridThumbnail() {
if($this->Photo()->exists()) {
return $this->Photo()->SetWidth(100);
}
return "(no image)";
}
public function getCMSFields() {
$fields = FieldList::create(
TextField::create('Title'),
$tags = TagField::create('Tags','Tags',Tag::get(),$this->Tags()),
HTMLEditorField::create('Description', 'Beschreibung'),
LinkField::create('LinkID', 'Weiterleitung'),
$uploader = UploadField::create('Photo')
);
$tags->setShouldLazyLoad(true); // tags should be lazy loaded
$tags->setCanCreate(true); // new tag DataObjects can be created
$uploader->setFolderName('teaser');
$uploader->getValidator()->setAllowedExtensions(array('png','jpeg','jpg'));
return $fields;
}
}
在dataobject上使用,并检查此函数内部是否允许用户查看此对象
public function canView($member = null) {
return Permission::check('ADMIN', 'any');
}
请看一下canView()canEdit()canCreate()和canEdit()函数。您可以在api文档中找到它们。他们控制谁可以看到你的数据等等。您需要将它们放入数据对象中。它与gridfield无关。
public function canView($member = null) {
return Permission::check('ADMIN', 'any');
}