SilverStripe PHP表单 - 如果我将一个SelectionGroup嵌套在FieldGroup中,则其中一个相关的SelectionGroup_Items的Radio Box不会显示.为什么?

Rud*_*ger 124 php forms silverstripe

我有一个有两个FieldGroups 的表单,其中一个FieldGroup我有一个SelectionGroup.

SelectionGroup_ItemS IN的形式显示出来FieldGroup,但单选按钮来选择的选项不显示的.如果我删除FieldGroup它然后再次工作.

我看的框架模板,如果我改变FieldGroup_holder.ss SmallFieldHolderFieldHolder的单选再次出现,并正常工作.我试过按照模板看看哪一个不服从SelectionGroup但我一直迷路.

这是一段代码示例

$fields = FieldList::create(
    FieldGroup::create(
        TextField::create('Name', 'Name')
    ),
    FieldGroup::create(
        SelectionGroup::create(
            'Test1or2',
            array(
                SelectionGroup_Item::create(
                    'Test1', array(
                        TextField::create('Test1', 'Test1')
                    ),
                    'Test1'
                ),
                SelectionGroup_Item::create(
                    'Test2', array(
                        TextField::create('Test2', 'Test2')
                    ),
                    'Test2'
                )
            )
        )
    )
),
FieldList::create(
    FormAction::create('submit', 'Submit')
)
Run Code Online (Sandbox Code Playgroud)

小智 1

您可以添加另一个字段集,然后将其属性设置为id="hidden_field" aria-hidden="true"。在 css 文档中,您可以执行以下操作。

    #hidden_field{
        display:none;
        height:0;
        width:0;
        margin:0;
        padding:0;
        visibility: hidden;
    }
Run Code Online (Sandbox Code Playgroud)

这应该隐藏 SilverStripe Framework 的查询行为。在我自己的 php 表单中,每当有人在不同的部分 ID 号下多次提交新表单时,就会出现随机括号。我使用这种方法来隐藏网站上的随机括号。