如何允许用户在silverstripe CMS中设置自定义全局值?

时间:2016-03-02 14:08:35

标签: silverstripe

我希望能够在CMS中设置自定义值,例如使用网站名称和标语。我目前无法在单个页面上找到任何方法。

1 个答案:

答案 0 :(得分:2)

您可以通过扩展SiteConfig来实现。您的扩展程序可能如下所示:

class CustomSiteConfig extends DataExtension
{
    private static $db = array(
        'CustomContent' => 'Varchar(255)'
    );

    public function updateCMSFields(FieldList $fields)
    {
        $fields->addFieldToTab('Root.Main',
            TextField::create('CustomContent', 'Custom content')
        );
    }
}

然后您需要将扩展​​名应用于SiteConfig。将以下内容添加到mysite/_config/config.yml

SiteConfig:
  extensions:
    - CustomSiteConfig

就是这样。运行dev/build,您的新字段应该可以在CMS中编辑,也可以使用以下内容在模板中访问:$SiteConfig.CustomContent