php forms silverstripe

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.