如何允许用户在silverstripe CMS中设置自定义全局值?
我想能够在CMS中设置自定义值,如网站名称和标语。除了在单个页面上,我目前找不到任何其他方法来执行此操作。您可以通过扩展如何允许用户在silverstripe CMS中设置自定义全局值?,silverstripe,Silverstripe,我想能够在CMS中设置自定义值,如网站名称和标语。除了在单个页面上,我目前找不到任何其他方法来执行此操作。您可以通过扩展SiteConfig来执行此操作。您的扩展可能如下所示: class CustomSiteConfig extends DataExtension { private static $db = array( 'CustomContent' => 'Varchar(255)' ); public function updateCMS
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
这是一堂关于扩展的好课。在本课程的底部,有一个如何扩展站点配置的示例,展示了如何添加全局变量:谢谢!我找不到一个具体的答案来回答我的问题,而且我在课程中还没有走到这一步,所以我没有看到这一点。