cq5

Obtener casilla de verificación marcada por defecto en CQ5



(3)

Para configurar la casilla de verificación con un valor predeterminado de marcada y guardar la propiedad como un tipo de propiedad booleana en el JCR (en lugar de una cadena), use la siguiente configuración de IU clásica:

<myCheckbox jcr:primaryType="cq:Widget" fieldLabel="My Checkbox" name="./myCheckbox" value="true" defaultValue="true" checkboxBoolTypeHint="{Boolean}true" type="checkbox" xtype="selection"/>

O use la siguiente configuración en la interfaz de usuario de Granite Touch:

<myCheckbox jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/checkbox" text="My Checkbox" name="./myCheckbox" value="true" checked="true"/> <myCheckboxType jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden" name="./myCheckbox@TypeHint" value="Boolean"/>

Hay un resumen detallado y una demostración en http://www.nateyolles.com/blog/2015/11/aem-checkboxes-using-sling-post-servlet .

Estoy intentando tener una casilla de verificación marcada predeterminada en un cuadro de diálogo de componentes al editar. Aquí están las propiedades en el campo:

jcr:primaryType: widget checked: true (boolean) *Documentation says this determines default checked status type: checkbox (string) *read this as a fix to making checkbox selections stick xtype: selection (string) name: ./foo (string) fieldValue: true (string)


Para tener esto guardado como un booleano ...

<nodeName jcr:primaryType="cq:Widget" fieldLabel="check this nodename" name="./nodeName" defaultValue="{Boolean}false" type="checkbox" xtype="selection" /> <nodeNameHint jcr:primaryType="cq:Widget" ignoreData="{Boolean}true" name="./nodeName@TypeHint" value="Boolean" xtype="hidden"/>


Sí, parece que la documentación es un poco torpe. Hice algunos experimentos y esta combinación de propiedades funciona para mí:

defaultValue (String) true fieldLabel (String) Foo Mode inputValue (String) false jcr:primaryType (Name) cq:Widget name (String) ./foomode type (String) checkbox xtype (String) selection

La propiedad defaultValue parece ser la clave.

Tiene cq: Widget para su tipo principal, no para el widget, ¿no es así?