我想知道是否可以通过 DataExtension 添加选项卡?传递给 updateCMSFields 的 FieldList 参数似乎将 DataExtensions 新字段输出到详细信息选项卡上。所以我的第一次尝试是把我的领域推到那里:
public function updateCMSFields(FieldList $fields) {
$secureFilesTab = $fields;
$secureFilesTab->push(new HeaderField(_t('SecureFiles.GROUPACCESSTITLE', 'Group Access')));
$secureFilesTab->push(new TreeMultiselectField('GroupPermissions', _t('SecureFiles.GROUPACCESSFIELD', 'Group Access Permissions')));
}
这很好用,但是当我保存一个值时,CMS 会将 Tree_View 和 List_View 选项卡中的数据加载到详细信息选项卡上。下面的评论中提到的事实是,这是文件夹的 DataExtension。
然后我尝试使用 FormScaffolder 中的代码添加一个新选项卡:
public function UpdateCMSFields(FieldList $fields) {
$fields->push(new TabSet('Root', $secureFilesTab = new Tab('Security')));
$secureFilesTab->setTitle(_t('SiteTree.TABSECURITY', 'Security'));
}
这会将选项卡图标全部更改为 Tree_View 图标,并将我的新 DataExtension 字段放在所有选项卡上。
通过 DataExtension 添加选项卡的正确方法是什么?