Skip to content

Handlebars

Autobase permite utilizar Handlebars en todas las propiedades de página y componentes, con excepción de los eventos (onInit, onLoad, onClick, onPageChange, onChange) y la propiedad modules de la página, cuyos valores se interpretan como código Lua y no procesan variables.

Algunos ejemplos de propiedades donde se usa frecuentemente:

  • itemTemplateName del componente LIST.
  • templateName del componente LIST.
  • templateName del componente DISPLAY.

El uso básico es para reemplazar una variable.

handlebars
<p>{{nombre}}</p>

También se pueden utilizar algunos helpers que trae Autobase para insertar assets (imágenes, íconos) o íconos de Tabler.

Assets

Los assets son imágenes o íconos (png, jpg, svg, etc) que el usuario incluyó en la carpeta del proyecto.

El helper asset recibe el path relativo al archivo y devuelve la URL pública correspondiente para usarla en atributos como src o href.

Parámetros

ParámetroPosiciónTipoDescripción
path0stringRequerido. Path relativo al archivo dentro de la carpeta del proyecto.

Ejemplos

Imagen referenciada desde la carpeta assets:

handlebars
<img src="{{ asset 'assets/rocket.svg' }}" />

Ícono SVG como imagen:

handlebars
<img src="{{ asset 'assets/icons/logo.png' }}" />

Notas

  • El helper acepta exactamente un parámetro; omitirlo o pasar más de uno lanzará un error.
  • El path no puede estar vacío.
  • No se permiten rutas con .. por razones de seguridad.
  • Las barras invertidas (\) se convierten automáticamente a barras (/).

Íconos

Autobase permite utilizar los íconos de Tabler desde los templates de handlebars.

handlebars
{{ icon 'home' }}

Crédito: Autobase utiliza los íconos de Tabler Icons, que están disponibles bajo licencia MIT. Puedes explorar todos los íconos disponibles en el sitio oficial de Tabler.

Parámetros

El helper icon acepta los siguientes parámetros, ya sea por posición o por nombre:

ParámetroPosiciónTipoDescripción
name0stringRequerido. Nombre del ícono de Tabler (ej: 'home', 'user').
style1stringEstilo del ícono: 'outline' (por defecto) o 'filled'.
class2stringClases CSS adicionales que se agregan al elemento <svg>.
size3numberTamaño en píxeles para el ancho y alto del <svg>.

Ejemplos

Ícono básico:

handlebars
{{ icon 'home' }}

Ícono con estilo filled:

handlebars
{{ icon 'home' 'filled' }}

Ícono con clase CSS personalizada:

handlebars
{{ icon 'home' 'outline' 'text-primary' }}

Ícono con tamaño personalizado:

handlebars
{{ icon 'home' 'outline' '' 24 }}

Usando parámetros nombrados:

handlebars
{{ icon name='home' style='filled' class='text-primary' size=24 }}

Notas

  • Si el estilo solicitado no existe para el ícono, se intentará utilizar automáticamente el estilo outline como fallback.
  • Si el ícono no se encuentra, no se renderiza nada.