Los controladores extendidos como ListController y EditController, utilizan archivos XML para definir las columnas, grupos, widgets y botones a mostrar en una pestaña. De esta forma podemos personalizar rápidamente un listado o formulario sin necesidad de editar PHP. Estos archivos se deben almacenar el la carpeta XMLView de su plugin.
El elemento raíz del archivo XML será view y se podrán incluir las siguientes etiquetas a modo de grupo:
Aquí podemos ver que se definen 3 columnas a mostrar, más un row status, que sirve para indicar los colores a aplicar.
<?xml version='1.0' encoding='UTF-8'?>
<view>
<columns>
<column name='code' order='100'>
<widget type='text' fieldname='codigo' />
</column>
<column name='description' order='105'>
<widget type='text' fieldname='descripcion' />
</column>
<column name='state' display='center' order='110'>
<widget type='text'>
<option color='success' fieldname='estado'>ABIERTO</option>
<option color='warning' fieldname='estado'>CERRADO</option>
</widget>
</column>
</columns>
<rows>
<row type='status'>
<option color='info' fieldname='estado'>Pendiente</option>
<option color='warning' fieldname='estado'>Parcial</option>
</row>
</rows>
</view>
Aquí podemos ver que se definen dos grupos de columnas para este formulario.
<?xml version='1.0' encoding='UTF-8'?>
<view>
<columns>
<group name='data' numcolumns='8' title='Identificación internacional' icon='fa-globe'>
<column name='code' numcolumns='4' order='100'>
<widget type='text' fieldname='codigo' />
</column>
<column name='description' numcolumns='8' order='105'>
<widget type='text' fieldname='descripcion' />
</column>
</group>
<group name='state' numcolumns='4'>
<column name='state' display='center' order='100'>
<widget type='text'>
<option color='success' fieldname='estado'>ABIERTO</option>
<option color='warning' fieldname='estado'>CERRADO</option>
</widget>
</column>
</group>
</columns>
</view>