Esta web utiliza cookies propias y de terceros para su funcionamiento. ¿Aceptas? Leer más
Creación de plugins

Las vistas HTML

FacturaScripts utiliza el motor de plantillas twig. Un motor realmente potente que permite bloques, macros, funciones, extensiones y herencia entre plantillas. Una mejora radical frente al motor RainTPL que utilizábamos en FacturaScripts 2015/2017.

Los archivos de las vistas HTML deben tener la extensión .html.twig y se deben almacenar en la carpeta View de su plugin.

Ejemplo: MyNewView.html.twig

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

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

Esta vista hereda de Master/MenuTemplate.html.twig, que es la vista de FacturaScripts que incluye el menú superior. Si por el contrario no queremos el menú, podemos heredar de Master/MicroTemplate.html.twig

Elegir una vista desde el controlador.

Siemplente debemos llamar a la función setTemplate() indicando el nombre de la vista, sin la extensión.

$this->setTemplate('MyNewView');

Variables accesibles desde la vista:

  • fsc: el controlador ejecutado. A través del cual podemos acceder a todas sus propiedades o métodos públicos.
  • i18n: el traductor.
  • log: el MiniLog.
  • appSettings: la clase que permite acceder rápidamente a las preferencias de la aplicación.
  • controllerName: el nombre del controlador.
  • template: el nombre de la plantilla cargada.

Escribir la url de la página actual.

En ocasiones se necesita la URL de la página actual, bien sea para un formulario o un enlace. Todos los controladores tienen su función url(), por lo que podemos llamarla en cualquier momento.

{{ fsc.url() }}

Escribir el nombre del usuario.

{{ fsc.user.nick }}

Condiciones if

{% if kenny.sick %}
    Kenny is sick.
{% elseif kenny.dead %}
    You killed Kenny! You bastard!!!
{% else %}
    Kenny looks okay --- so far
{% endif %}

Bucles for

{% for user in users %}
    <li>{{ user.username|e }}</li>
{% else %}
    <li><em>no user found</em></li>
{% endfor %}

Tiene la documentación completa de twig en https://twig.symfony.com/doc/2.x/

Todavía más: