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“设置”的主要内容,如果未能解决你的问题,请参考以下文章

Silverstripe 3.2:如何在前端表单中动态添加和更新数据对象?

是否可以在 SilverStripe 菜单中获取 Children of children?

Silverstripe 3:如何按标题,日期等对CMS网站树中的页面进行排序

使用 SilverStripe 的计划任务

Silverstripe:成员关系多多空,形成前端

如何在 SilverStripe 4 CMS 中添加自定义样式