SilverStripe PHP Forms: si anido un SelectionGroup dentro de un FieldGroup, uno de los Radio Box de SelectionGroup_Items relacionados no aparece. ¿Por qué?
(1)
Tengo un formulario que tiene dos
FieldGroup
s, y en uno de los
FieldGroup
s tengo un
SelectionGroup
.
Los
SelectionGroup_Item
s aparecen en el formulario
FieldGroup
pero no se muestran los cuadros de radio para seleccionar una de las opciones.
Si
FieldGroup
el
FieldGroup
, vuelve a funcionar.
He mirado las plantillas de marco, y si cambio
FieldGroup_holder.ss
SmallFieldHolder
a
FieldHolder
los cuadros de radio aparecen nuevamente y funcionan correctamente.
Intenté seguir las plantillas para ver cuál no obedece al
SelectionGroup
pero sigo perdiéndome.
Aquí hay un ejemplo de código
$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'')
)
Puede agregar otro conjunto de campos y luego establecer sus atributos en
id="hidden_field" aria-hidden="true"
.
En el documento CSS puede hacer lo siguiente.
#hidden_field{
display:none;
height:0;
width:0;
margin:0;
padding:0;
visibility: hidden;
}
Esto debería ocultar el comportamiento de consulta de SilverStripe Framework. En mis propios formularios php, aparecían paréntesis aleatorios cada vez que alguien enviaba un nuevo formulario varias veces con diferentes números de identificación de parte. Utilicé este enfoque para ocultar los corchetes al azar en mi sitio.