这不是 ModelAdmins 的用途。它们旨在管理您的数据对象。
也就是说,我只能想到两个解决方案:
过滤网格字段并将其限制为一个数据记录。
你的数据对象
class Contact extends DataObject
{
private static $db = [
'Name' => 'Varchar',
'Phone' => 'Varchar',
'Email' => 'Varchar'
// etc, etc
];
}
您的模型管理员
class ContactModelAdmin extends ModelAdmin
{
private static $managed_models = array(
'Contact'
);
private static $url_segment = 'contact';
private static $menu_title = 'My Contact Admin';
public function getList()
{
$list = parent::getList();
$list = $list->filter('Name', 'EagleEye')->limit(1);
return $list;
}
}
或者您可能只是想摆脱网格字段并创建一些您可以填充的表单字段。
class ContactModelAdmin extends ModelAdmin
{
private static $managed_models = array(
'Contact'
);
private static $url_segment = 'contact';
private static $menu_title = 'My Contact Admin';
public function getEditForm($id = null, $fields = null) {
$form = parent::getEditForm($id, $fields);
$gridFieldName = $this->sanitiseClassName($this->modelClass);
$form->Fields()->removeByName($gridFieldName);
$form->Fields()->push(
TextField::create('Name', 'Name', 'EagleEye')
->performReadonlyTransformation()
);
$form->Fields()->push(
TextField::create('Phone', 'Phone', '0123456789')
->performReadonlyTransformation()
);
$form->Fields()->push(
TextField::create('Email', 'Email', 'EagleEye@domain.com')
->performReadonlyTransformation()
);
return $form;
}
}
我希望这就是你要找的。p>