【发布时间】:2012-08-11 14:55:09
【问题描述】:
我想在编辑页面视图的现有选项卡“设置”中添加一个字段(在屏幕截图中标记)。
我试过这个:
$fields->addFieldToTab('Root.Settings', new TextField('Intro'));
但它只是在包含附加字段的辅助选项卡“主要内容”旁边添加了一个新选项卡。
【问题讨论】:
标签: content-management-system silverstripe
我想在编辑页面视图的现有选项卡“设置”中添加一个字段(在屏幕截图中标记)。
我试过这个:
$fields->addFieldToTab('Root.Settings', new TextField('Intro'));
但它只是在包含附加字段的辅助选项卡“主要内容”旁边添加了一个新选项卡。
【问题讨论】:
标签: content-management-system silverstripe
对于 SilverStripe 3.0,您需要覆盖模型中的 getSettingsFields() 函数,例如
function getSettingsFields() {
$fields = parent::getSettingsFields();
$fields->addFieldToTab("Root.Settings", new TextField('Intro'));
return $fields;
}
在 SilverStripe 2.x 中,这是在 getCMSFields() 函数中完成的。
【讨论】:
这个方法对我有用:
public function updateSettingsFields(FieldList $fields) {
$fields->addFieldToTab("Root.MyNewSettingsSubTab", new TextField('Intro'));
return $fields;
}
【讨论】:
DataExtension 进行操作,您将使用此方法,但是如果您通过从Page 扩展的类进行操作,第一个答案就是您要使用的.