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

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

我试过这个:

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

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

【问题讨论】:

    标签: content-management-system silverstripe


    【解决方案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 扩展的类进行操作,第一个答案就是您要使用的.
      猜你喜欢
      • 2021-07-07
      • 2018-07-26
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 2015-10-05
      相关资源
      最近更新 更多