Widget Info
En los archivos XMLView se puede utilizar el Widget Info (WidgetInfo) para mostrar textos informativos, avisos y enlaces dentro de un formulario. A diferencia del resto de widgets, no está vinculado a ningún campo del modelo: no muestra ni guarda ningún valor, solo presenta información al usuario.
<column name="help" numcolumns="12" order="100">
<widget type="info" text="my-help-text" icon="fa-solid fa-circle-info"/>
</column>
Propiedades del Widget Info
- text: Texto a mostrar. Se pasa por el sistema de traducciones, así que lo recomendable es indicar una clave de traducción.
- alert: Muestra el contenido dentro de una alerta de Bootstrap. Valores admitidos:
primary,secondary,success,danger,warning,info,lightydark. Si no se indica, o el valor no es válido, se muestra como texto simple. - icon: Icono a mostrar a la izquierda del texto.
- href: URL de un botón de enlace que se muestra debajo del texto. Admite URLs
httpyhttpsy rutas relativas de la aplicación, comoEditSettingso?action=.... Los enlaces externos se abren en una pestaña nueva. - btn-text: Texto del botón de enlace. También se traduce. Si no se indica, el botón muestra la URL.
- btn-class: Clase CSS del botón. Si no se indica, se usa la clase que corresponde al tipo de alerta (por ejemplo,
btn-warningparaalert="warning") obtn-secondarysi no hay alerta. - template: Ruta de una vista Twig propia, relativa a la carpeta View y sin la extensión
.html.twig. Si se indica, se renderiza esa vista y se ignoran el resto de opciones. La vista recibe el modelo en la variable model. - class: Clases CSS adicionales para el contenedor.
- fieldname: Opcional. Este widget no usa ningún campo.
Ejemplos
Un aviso con un botón que lleva a otra página de la aplicación:
<column name="warning" numcolumns="12" order="100">
<widget type="info" alert="warning" icon="fa-solid fa-triangle-exclamation"
text="configure-company-first" href="EditEmpresa?code=1" btn-text="edit-company"/>
</column>
Un aviso con un enlace externo, que se abre en una pestaña nueva:
<column name="docs" numcolumns="12" order="110">
<widget type="info" alert="info" icon="fa-solid fa-book" text="read-the-documentation"
href="https://facturascripts.com" btn-text="documentation"/>
</column>
Una vista Twig propia, para mostrar información calculada a partir del registro:
<column name="summary" numcolumns="12" order="120">
<widget type="info" template="Block/MyPluginSummary"/>
</column>
En este caso se renderiza la vista View/Block/MyPluginSummary.html.twig de tu plugin, que puede usar {{ model.codcliente }} y el resto de propiedades del registro. Si la vista no existe o falla al renderizarse, se muestra el nombre de la plantilla en una alerta roja y el error queda registrado en el log.
Visualización
- En un formulario de edición se muestra el texto, con su icono y botón, como texto simple o dentro de una alerta. No se muestra el título de la columna ni se genera ningún campo de formulario. Si no hay texto ni enlace, no se muestra nada.
- En un listado solo se muestra el texto traducido, o la vista Twig si se ha indicado
template. - Al guardar el formulario el widget se ignora: no modifica ningún campo del modelo.
Recuerda que todos los widgets tienen una serie de propiedades y opciones comunes.