我使用本指南在 silverstripe 中創(chuàng)建了 CustomSiteConfig -> https://docs.silverstripe.org/en/4/developer_guides/configuration/siteconfig/#siteconfig它是這樣的:<?phpnamespace 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") ); }}我可以通過(guò)以下方式檢索信息$config = SiteConfig::current_site_config();var_dump($config->PoptinConfig);確實(shí)有效,但是如何恢復(fù)呢?我已經(jīng)嘗試過(guò)$config->__set('PoptinConfig', 'foo'),$config->setField('PoptinConfig', 'foo');但沒(méi)有一個(gè)有效。沒(méi)有錯(cuò)誤,但字段沒(méi)有改變。
1 回答

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
$cfg = SiteConfig::current_site_config();
$cfg->PoptinConfig = "Something";
$cfg->write();
應(yīng)該可以解決這個(gè)問(wèn)題,就像任何擴(kuò)展 DataObject 的類(lèi)一樣。唯一的區(qū)別是
$cfg = SiteConfig::current_site_config();
因?yàn)樗且粋€(gè) SiteConfig 方法。
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報(bào)
0/150
提交
取消