Widgets

Los widgets son pequeños bloques de contenido que aparecen alrededor del cuerpo principal del sitio.

Pueden ser de contenido dinámico, como el listado de usuarios actualmente conectados o las discusiones más recientemente publicadas en el foro.

XenForo se proporciona con una selección de widgets útiles y se instala con una colección de ellos que se despliegan en diferentes ubicaciones del sitio.

Los widgets estándar incluidos con XenForo son, entre otros muchos:

  1. Nuevos mensajes
  2. Estadísticas en línea
  3. Nuevos miembros
  4. Cumpleaños de hoy

Los widgets tienen cuatro componentes:

  1. Definición del widget
  2. Identificador único o clave del widget
  3. Posición en la que se ubicará el widget
  4. Parámetros que se mostrarán en el widget

El gestor de widgets muestra un listado de todos los widgets configurados en el sitio, agrupados por su posición definida.

Desde aquí, pueden agregarse nuevos widgets o eliminar los existentes utilizando el gadget de eliminación.

Definiciones de widget

Las definiciones de Widget se crean habitualmente por los desarrolladores que lo generan, con un número de parámetros para mostrar contenido dinámico.

Al hecer clic en Agregar widget en el gestor de widgets, lo primero que se nos solicita es la definición del widget que se desea utilizar para implementarlo.

La mayoría de veces, las definiciones de widget tienen nombres bastante auto-explicativos, por lo que solo queda elegir el más apropiado del menú.

Entre líneas, la definición del widget referenciará al código de PHP que hace todo el trabajo para obtener los datos necesarios para el widget y que le da formato en el visionado final que vemos en la pantalla.

Una vez seleccionada una definición de widget, es preciso dar una única clave o ID que el sistema utilizará para unir toda la configuración del widget.

Posiciones del widget

Cada widget precisa un lugar donde ubicarse.

Las posiciones del widget se definen en las plantillas de XenForo y se registran en la base de datos. Una vez creada y registrada, una posición de widget puede utilizarse para cualquier widget.

Detrás de haber elegido una definición de widget, pueden seleccionarse una o más posiciones en las que mostrar al widget. Debe intentarse evitar que se muestre el mismo widget en varios lugares de la misma página, si es posible evitarlo.

Del mismo modo que las definiciones de widget, las posiciones de widget tienen nombres descriptivos que ofrecen una buena idea de donde se ubica la posición.

Cuando se selecciona una posición de widget, se nos pedirá especificar el orden de visualización del widget en la posición seleccionada, para poder mostrarlo encima, debajo o entre otros widgets que también estén ubicados en la misma posición. Como de constumbre, los widgets con mayor valor de orden de visualización se mostrarán después de aquellos que tengan un menor valor.

Parámetros del widget

Cada definición de widget define la lista de parámetros que puede aceptar para controlar los datos que debe obtener y mostrar.

Estos parámetros se presentan en el editor de widgets y pueden adoptar la forma de controles, bien para controlar el número máximo de elementos a obtener o interruptores específicos para limitar los datos resultantes que cumplan unos criterios determinados.

Hay que prestar mucha atención al proporcionar parámetros a los widgets, ya que tienen un efecto dinámico sobre la salida final del widget.

Definiciones especiales de widget

XenForo también viene con dos definiciones especiales de widget que están diseñadas específicamente para su propio contenido.

Widget de HTML

El widget de HTML no precisa del proceso de ningún código de PHP entre bastidores, ya que no recoge ningún dato. Su solo propósito es ser un vehículo para un fragmento de HTML inhtroducido en el campo Plantilla del editor del widget.

Puede incluirse cualquier HTM y utilizar también la sintaxis de plantillas de XenForo si se desea.

También existe una opción Modo avanzado que omitirá el bloque contenedor habitual del widget de HTML. Si se utiliza este modo, es entéramente responsabilidad nuestra el asegurarse de que el widget de HTML está apropiadamente contenido y estilado para coincidir con el sitio.

Devolución de llamada de PHP en widgets

El widget de devolución de llamada de PHP no incluye una caja para definir el HTML, solo ofrece controles de Clase y Método, que permiten al widget llamar a código PHP personalizado y que será responsable tanto de obtener los datos como de presentar el HTML final.

Esta es una opción avanzada, para desarrolladores.