SilverStripe将默认的SiteTree CMS字段移动到新选项卡

时间:2016-07-20 16:31:56

标签: silverstripe

在默认的SS3设置中,CMS字段位于标签Root.Main中。不过,我希望创建两个新标签Main ContentForm,以便默认的CMS字段位于Root.Main.MainContent

我查看了SiteTree.php,看看这些字段是如何放入标签的。在那里之间似乎很难。

问:如何将默认cms字段从Root.Main移至Root.Main.MainContent

2 个答案:

答案 0 :(得分:3)

在3.3.2中,默认字段会自动放入名为Main Content的选项卡中。此Main Content标签实际上是代码中引用的Root.Main标签。如果Main Content标签是唯一的标签,则它会被隐藏,因为只有一个标签没有多大用处。

为您提供您想要的功能,只需创建字段,然后将其添加到新的Form标签:

$myNewField = new LiteralField("Lipsum","Ipsum dolor sit amet enim.");
$fields->addFieldToTab('Root.Form', $myNewField );

答案 1 :(得分:2)

AlphaCactus'答案应该是你想要的,但如果你想创建第三级标签集,你可以使用类似于的代码:

$fields->addFieldsToTab('Root.Main', Tabset::create('MainTabset',
    Tab::create('MainContent',
        TextField::create('Field1'),
        TextField::create('Field2')
    ),
    Tab::create('Form',
        TextField::create('Field3'),
        TextField::create('Field4')
    )
));