Php 如何在silverstripe中的SiteConfig中设置属性?

Php 如何在silverstripe中的SiteConfig中设置属性?,php,config,silverstripe,silverstripe-4,Php,Config,Silverstripe,Silverstripe 4,我已经使用本指南在silverstripe中创建了一个CustomSiteConfig-> 这就是它的样子: <?php namespace Poptin\Silverstripe; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; use SilverStripe\ORM\DataExtension; class PoptinSiteConfig extends DataExtension {

我已经使用本指南在silverstripe中创建了一个CustomSiteConfig->

这就是它的样子:

<?php
namespace Poptin\Silverstripe;

use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\TextField;
use SilverStripe\ORM\DataExtension;

class PoptinSiteConfig extends DataExtension 
{
    private static $db = [
        'PoptinConfig' => 'Text'
    ];

    public function updateCMSFields(FieldList $fields) 
    {
        $fields->addFieldToTab("Root.Main", 
            new TextField("PoptinConfig", "Poptin Config")
        );
    }
}
这是可行的,但如何让它倒退?我尝试了
$config->u集('PoptinConfig','foo')
$config->setField('PoptinConfig','foo')但它们都不起作用。没有错误,但字段不会更改

$cfg = SiteConfig::current_site_config();
$cfg->PoptinConfig = "Something";
$cfg->write();
应该这样做,就像在任何扩展DataObject的类上一样。唯一的区别是

$cfg = SiteConfig::current_site_config();
因为它是一个SiteConfig方法

应该这样做,就像在任何扩展DataObject的类上一样。唯一的区别是

$cfg = SiteConfig::current_site_config();
因为它是一个SiteConfig方法