Las vistas HTML

FacturaScripts utiliza el motor de plantillas Twig, un potente sistema que permite el uso de bloques, macros, funciones, extensiones y herencia entre plantillas. Los archivos de las vistas HTML deben tener la extensión .html.twig y se deben almacenar en la carpeta View del plugin correspondiente.

Ejemplo de Plantilla: MyNewView.html.twig

Este es un ejemplo básico de plantilla HTML:

{% extends "Master/MenuTemplate.html.twig" %}

{% block body %}
    {{ parent() }}
    <h1>Hola mundo</h1>
{% endblock %}

{% block css %}
    {{ parent() }}
{% endblock %}

{% block javascripts %}
    {{ parent() }}
{% endblock %}

Esta vista hereda del archivo Master/MenuTemplate.html.twig, una plantilla de FacturaScripts que incluye el menú superior. Si prefieres no incluir el menú, puedes heredar de Master/MicroTemplate.html.twig para una interfaz más minimalista.

Selección de Vistas desde el Controlador

Para seleccionar una vista diferente desde el controlador, simplemente llama a la función setTemplate() especificando el nombre de la vista, sin la extensión:

$this->setTemplate('MyNewView'); // Esto selecciona View/MyNewView.html.twig

Si prefieres desactivar la salida HTML, puedes pasar el valor false a setTemplate():

$this->setTemplate('false'); // Desactiva la salida HTML

Variables Disponibles en la Vista

  • assetManager: Acceder al JavaScript o CSS cargado desde el controlador.
  • controllerName: Nombre del controlador ejecutado.
  • fsc: Referencia al controlador en ejecución, permitiendo el acceso a todas sus propiedades y métodos públicos.
  • log: Instancia del MiniLog.
  • template: Nombre de la plantilla cargada actualmente.

Para pasar una variable desde el controlador a la vista, simplemente defínela como pública en el controlador y accede a ella desde la vista:

{{ fsc.mi_variable }}

Obtener URLs desde la Vista

  • Para obtener la URL de la página actual, puedes utilizar la función url() proporcionada por el controlador:
{{ fsc.url() }}
  • Para obtener la URL de un controlador específico, usa la función asset():
{{ asset('ListFacturaCliente') }}

Acceso al Nombre del Usuario

Para obtener el nombre del usuario actual:

{{ fsc.user.nick }}

Trasladar Texto Traducido

Usa trans() para presentar texto traducido basado en el idioma del usuario:

{{ trans('save') }}

Para incluir parámetros en la traducción:

{{ trans('save', {'code':'FAC1578'}) }}

Para traducir a un idioma específico:

{{ trans('save', {}, 'de_DE') }}

Gestión de Archivos de la Biblioteca

Obten un objeto archivo con su path usando su ID desde la biblioteca:

{% set file = attachedFile(5) %}
{{ file.path }}

Inserción de Tokens en Formularios

Obtén el input con el token necesario para formularios:

{{ formToken() }}

Para obtener sólo el token:

{{ formToken(false) }}

Formateo Avanzado de Números

Para formatear números de acuerdo con los decimales configurados:

{{ number(20.338547) }}

O especifica los decimales manualmente:

{{ number(20.338547, 4) }}

Formateo de Precios con Divisa

Formatea números como precios, usando la divisa por defecto del sistema:

{{ money(15.42) }}

Especifica una divisa personalizada:

{{ money(15.42, 'EUR') }}

Acceso a Parámetros de Configuración

Para obtener configuraciones específicas guardadas:

{% set divisa = settings('default', 'coddivisa') %}
{% set decimales = settings('default', 'decimals') %}

Incluye un valor por defecto si no se encuentra el dato:

{% set dias = settings('default', 'dias', 7) %}

Añadir Funciones Personalizadas

Puedes ampliar la clase Html añadiendo funciones desde tu plugin para utilizarlas en cualquier vista Twig. Aquí un ejemplo para añadir una función que devuelve la fecha actual en un formato especificado:

<?php
namespace FacturaScripts\Plugins\MiPlugin;

use FacturaScripts\Core\Html;
use FacturaScripts\Core\Base\InitClass;
use Twig\TwigFunction;

class Init extends InitClass
{
    public function init()
    {
        Html::addFunction(new TwigFunction('fecha', function (string $format = 'Y-m-d H:i:s') {
            return date($format);
        }));
    }
}

Modo de uso en la plantilla twig:

{{ fecha() }}
{{ fecha('d-m-Y') }}

Mensajes con setToast de JavaScript

Para mostrar animaciones de log, incluye la vista Toasts y usa:

{% include 'Macro/Toasts.html.twig' %}

<script>
setToast('tu mensaje aquí', 'warning', 'tu título aquí', 10000);
</script>

Documentación Oficial de Twig

Consulta la documentación completa de Twig en twig.symfony.com.

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-2025 FacturaScripts
0.30893s

Soporte