我已经设置了一个SiteConfig
扩展(用yml声明,经过测试和确认),通过它我试图将Title
字段(用于Site title的字段)更改为只读字段。
我知道在父类SiteConfig
中,Title
字段存储在一个变量中站点配置第85行:$titleField = new TextField("Title", _t('SiteConfig.SITETITLE', "Site title"))
所以在我的扩展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()
);
}
}
首先获取现有的"标题"字段,并检查其是否存在。然后将字段替换为其只读转换的变体。