我正在尝试从Page Main.Settings标签中删除可见性 FieldGroup。我猜了一下,并在 Page.php :
中写了这个function getSettingsFields() {
$fields = parent::getSettingsFields();
$fields->removeByName('Visibility');
return $fields;
}
..它做了伎俩,但奇怪的是它只适用于Locale是英语的时候。我猜是removeByName参数引用了Visibility字段组的字段标签,并且每个Locale(语言)的标签值都不同。在创建此字段组的SiteTree.php中,我找不到FieldGroup“Visibility”的实际名称。
如何以不考虑区域设置的方式删除此FieldGroup?
答案 0 :(得分:3)
因为'可见性'是一个已翻译的字段名称,我查找了此特定字段名称的_t
引用,并将其放在removeByName
而不是固定字符串'可见性'中,因此它遵循所有语言环境。以下代码删除了未命名的 FieldGroup。
function getSettingsFields() {
$fields = parent::getSettingsFields();
$fields->removeByName(_t('SiteTree.Visibility', 'Visibility'));
return $fields;
}