Я создал CustomSiteConfig в серебряной полосе, используя это руководство -> https://docs.silverstripe.org/en/4/developer_guides/configuration/siteconfig/#siteconfig
Вот как это выглядит:
<?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 = SiteConfig::current_site_config();
var_dump($config->PoptinConfig);
И работает, а как вернуть обратно? Я пробовал $config->__set('PoptinConfig', 'foo')
, $config->setField('PoptinConfig', 'foo');
, но ни один из них не работает. Ошибок нет, но поле не меняется.