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 タブから Details タブにデータをロードします。以下のコメントで言及されているのは、これがフォルダーの 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 を介してタブを追加する適切な方法は何ですか?