Silverstripe 前端表单,使用 TabSet 分成多个选项卡

Silverstripe front end form, Break up into tabs with TabSet

我有一个 100+ 问题表单。我想在 silverstripe 中使用 TabSet 将它分成几个选项卡。

我可以使用以下方法创建表单:

$form = Form::create(
            $this,
            __FUNCTION__,
            FieldList::create(
                FieldGroup::create(
 //...)));

我可以创建标签集:

$tabset = new TabSet(
            $name = "TheTabSetName",
            new Tab(
                    $title='Contact Information',
                    new HeaderField("A header"),
                    new LiteralField("Lipsum","Lorem ipsum dolor sit amet enim.")
            ),
            new Tab(
                    $title='Education Experience',
                    new HeaderField("A second header"),
                    new LiteralField("Lipsum","Ipsum dolor sit amet enim.")
            ),
            new Tab(
                    $title='Appointments',
                    new HeaderField("A second header"),
                    new LiteralField("Lipsum","Ipsum dolor sit amet enim.")
            ),
            new Tab(
                    $title='Professional',
                    new HeaderField("A second header"),
                    new LiteralField("Lipsum","Ipsum dolor sit amet enim.")
            ),
            new Tab(
                    $title='Document Upload',
                    new HeaderField("A second header"),
                    new LiteralField("Lipsum","Ipsum dolor sit amet enim.")
            )
        );
        return $tabset;

如果这需要一个表单和一个数据对象,我该如何将表单分解成单独的选项卡?

为了将 TabSet 添加到 Form,您只需将选项卡集添加到字段列表。

FieldList::create($tabset)

这是您需要的吗?或者您是否需要找到一种方法将 100 多个字段从数据对象添加到表单?