在SilverStripe的CMS中,我想删除页面内的Content
标签。我可以这样做,如下所示:
$fields->removeFieldsFromTab('Root.Content.Main', 'Content');
然后,我想创建自己的自定义标签:
$fields->addFieldToTab('Root.Content.MyTab', $myField);
但是,通过添加我自己的自定义标签,它将
Content
标签带回来。另一种选择是将
MyTab
设置为默认的“向上”标签。那可能吗? 最佳答案
SilverStripe 2.4
要在SilverStripe 2.4中删除Content
标签:
$fields->removeFieldFromTab('Root.Content', 'Main');
并将字段添加到名为
MyTab
的选项卡中:$fields->addFieldToTab('Root.Content.MyTab', $myField);
SilverStripe 3.1
要在SilverStripe 3.1中删除
Content
标签:$fields->removeFieldFromTab('Root', 'Main');
并将字段添加到名为
MyTab
的选项卡中:$fields->addFieldToTab('Root.MyTab', $myField);
笔记
删除
Content
标签意味着您无法控制页面标题。removeFieldsFromTab
从此Tab
中的TabSet
/ FieldList
中删除了许多字段。它使用字段名称数组作为第二个参数。removeFieldFromTab
从此Tab
中的TabSet
/ FieldList
中删除单个字段。它使用字符串字段名称作为第二个参数。在您的情况下,您要使用
removeFieldFromTab
而不是removeFieldsFromTab
。关于tabs - SilverStripe选项卡自定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22212088/