我已经设置了一个 SiteConfig
扩展(在 yml 中声明,经过测试和确认),通过它我尝试更改 Title
字段(Site 的字段) title) 到只读字段。
我知道在父类 SiteConfig
中,Title
字段存储在变量中。 SiteConfig 第 85 行:$titleField = new TextField("Title", _t('SiteConfig.SITETITLE', "网站标题"))
所以在我的扩展SiteConfigTweaks extends DataExtensions
中我尝试过:
public function updateCMSFields(FieldList $fields) {
$titleField->performReadonlyTransformation();
}
但这并不能解决问题。我在这里缺少什么?
最佳答案
我建议您执行以下操作:
public function updateCMSFields(FieldList $fields)
{
if ($titleField = $fields->dataFieldByName('Title')) {
$fields->replaceField(
'Title',
$titleField->performReadonlyTransformation()
);
}
}
首先,您获取现有的标题字段并检查其是否存在。然后,将该字段替换为其只读转换后的变体。
关于php - SilverStripe SiteConfig 标题字段操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38686690/