SilverStripe PHP 表单——如果我在 FieldGroup 中嵌套了一个 SelectionGroup,相关的 SelectionGroup_Items’Radio Box 之一不会显示出来。为什么?

我有一个形式,有两个 FieldGroup,在其中一个 FieldGroup,我有一个 SelectionGroup

SelectionGroup_Item显示在表单 FieldGroup中,但是选择其中一个选项的单选框没有显示。如果我删除 FieldGroup,然后再次工作。

我已经查看了框架模板,如果我将 FieldGroup_holder.ss SmallFieldHolder改为 FieldHolder,单选框将再次出现并正常工作。我已经尝试按照模板,看看哪一个是不遵守的 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')
)
3497 次浏览

您可以添加另一个字段集,然后将其属性设置为 id="hidden_field" aria-hidden="true"

    #hidden_field{
display:none;
height:0;
width:0;
margin:0;
padding:0;
visibility: hidden;
}

这将隐藏 SilverStripe 框架的查询行为。 In my own php forms I had random brackets appearing whenever someone submitted a new form numerous times under different part-id numbers. I used this approach to hide the random brackets on my site.