silverstripe 3 addFieldToTab“设置”

时间:2012-08-15 09:46:08

标签: content-management-system silverstripe

我想在编辑页面视图的现有标签“设置”中添加一个字段(在屏幕截图中标记)。

我试过了:

$fields->addFieldToTab('Root.Settings', new TextField('Intro'));

但它只是在辅助标签“主要内容”旁边添加了一个新标签,其中包含附加字段。

Silverstripe Edid Page View

2 个答案:

答案 0 :(得分:18)

对于SilverStripe 3.0,您需要覆盖模型中的getSettingsFields()函数,例如

function getSettingsFields() {
    $fields = parent::getSettingsFields();
    $fields->addFieldToTab("Root.Settings", new TextField('Intro'));
    return $fields;
}

在SilverStripe 2.x中,这是在getCMSFields()函数中完成的。

答案 1 :(得分:2)

这种方法对我有用:

public function updateSettingsFields(FieldList $fields) {
  $fields->addFieldToTab("Root.MyNewSettingsSubTab", new TextField('Intro'));
  return $fields;
}