silverstripe 3 addFieldToTab“设置”

Posted

技术标签:

【中文标题】silverstripe 3 addFieldToTab“设置”【英文标题】:silverstripe 3 addFieldToTab "Settings" 【发布时间】:2012-08-11 14:55:09 【问题描述】:

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

我试过这个:

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

但它只是在包含附加字段的辅助选项卡“主要内容”旁边添加了一个新选项卡。

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

这个方法对我有用:

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

【讨论】:

值得注意的是,如果通过DataExtension 进行操作,您将使用此方法,但是如果您通过从Page 扩展的类进行操作,第一个答案就是您要使用的.

以上是关于silverstripe 3 addFieldToTab“设置”的主要内容,如果未能解决你的问题,请参考以下文章