Introducción a los Widgets

Un widget es el contenido que se dibuja dentro de una <column>. El atributo type determina qué clase se instancia: el motor concatena Widget + el type con la primera letra en mayúscula. Por ejemplo, type="label" instancia WidgetLabel, type="number" instancia WidgetNumber, etc.

Todas las clases de widget viven en Lib/WidgetReport/ del plugin.

🗂️ Tipos de widget disponibles

  • label: texto fijo o variable. Es el más utilizado.
  • default: datos del sistema (empresa, usuario, fecha, hora, página).
  • number: valores numéricos con formato (decimales, separadores, divisa, iconos).
  • calculated: totales acumulados en el pie (sum, count, avg, min, max).
  • line: líneas separadoras y rectángulos.
  • image: imagen desde ruta de archivo.
  • imageproduct: imagen de un producto a partir de su referencia.

🔧 Atributos comunes a todos los widgets

  • type (obligatorio): tipo de widget.
  • value: valor o texto literal a mostrar. Si se informa junto a fieldname, fieldname tiene prioridad.
  • fieldname: nombre del campo del dato cuyo valor se muestra. Ver resolución de fieldname más abajo.
  • color: color del texto o trazo. Por defecto black. Ver lista de colores más abajo.
  • class: clases CSS adicionales para la salida HTML únicamente. Permite usar utilidades de Bootstrap (por ejemplo class="h5" o class="text-muted"). El PDF ignora este atributo.
  • title: título de la tarjeta resumen cuando la columna usa area="cards". Solo HTML.
  • cardcolor: color contextual de Bootstrap para la tarjeta resumen. Solo HTML.

🎨 Colores disponibles

Puedes indicar el color por nombre o por valor hexadecimal:

Por nombre:

  • black (negro, valor por defecto)
  • blue (azul)
  • green (verde)
  • orange (naranja)
  • red (rojo)
  • white (blanco)
  • yellow (amarillo)
  • silver (gris claro)

Por valor hexadecimal (con o sin #):

  • 4169E1 — azul royal
  • #FF8800 — naranja
  • CCCCCC — gris neutro

Ejemplo:

<widget type="label" value="Título" color="4169E1" bold="true" />

🔍 Resolución de fieldname

El atributo fieldname acepta varias formas para acceder al valor de la fila actual:

  • Campo directo: fieldname="importe"$fila->importe
  • Propiedad de objeto: fieldname="empresa.nombre"$fila->empresa->nombre
  • Elemento de array: fieldname="totales[0]"$fila->totales[0]
  • Llamada a método sin parámetros: fieldname="getTotal()"$fila->getTotal()
  • Llamada a método con parámetros: fieldname="getTotal('eur','2')"$fila->getTotal(['eur', '2'])

En los métodos con parámetros, estos se pasan al método como un array, no como argumentos individuales. Asegúrate de que tu método los recibe como array $params.

Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2026 FacturaScripts
0.08802s

Soporte