我想在ModelAdmin上做一些小的自定义。
我想将“添加”按钮上的文字更改为与原始DataModel不同的文字。
我有一个很好的关系。我想隐藏“链接到现有”的能力,以便不能按照以下方式搜索其他“技能”。
我在模型中有以下内容:
public function getCMSFields() {
...
$characterSkillsField = new GridField(
'CharacterSkills',
'Character Skills',
$this->CharacterSkills(),
GridFieldConfig_RelationEditor::create()
);
$fields->addFieldToTab('Root.CharacterSkills', $characterSkillsField);
...
}
回答#2:
//添加关系编辑器。
$ config = GridFieldConfig_RelationEditor :: create();
//删除搜索和链接到其他技能的功能。
组$ config-> removeComponentsByType( 'GridFieldAddExistingAutocompleter');
$ characterSkillsField = new GridField( 'CharacterSkills', '角色技巧', $这 - > CharacterSkills(), $配置 );
答案 0 :(得分:4)
关于#1:
将以下内容添加到由GridField管理的模型类中(例如'CharacterSkill'):
private static $singular_name = 'foo';
private static $plural_name = 'bar';
不要忘记随后刷新缓存(在网址中添加'?flush = All')。
前面会将按钮名称设置为“添加foo”,但也可以使用以下内容设置您自己的按钮标题:
$config = GridFieldConfig_RelationEditor::create();
$addButton = $config->getComponentByType('GridFieldAddNewButton');
$addButton->setButtonName('my button name');