Un plugin permite añadir nuevas funcionalidades a FacturaScripts.

Lo primero que hace falta para crear un plugin, es incluir una carpeta con el nombre del plugin. Dicha carpeta se creará dentro de la carpeta Plugins.

La carpeta que incluyamos tendrá que contener un archivo llamado facturascripts.ini donde se tendrá que definir al menos, el nombre (name) y la descripción (description) del plugin.

Por ejemplo, podríamos crear la carpeta MyNewPlugin y en su interior, incluir el fichero facturascripts.ini con el siguiente contenido:

name = 'MyNewPlugin'
version = 1
min_version = 2018.000
description = 'My fantastic new plugin for FacturaScritps'


Sólo con ésto, ya nuestro plugin será reconocido y podríamos activarlo, aunque aún no dispone de ninguna funcionalidad.
Observe que el nombre del plugin, sería el indicado en name y no el nombre de la carpeta.

Las opciones disponibles son las siguientes:
- name, para el nombre del plugin.
- description, para la descripción del plugin.
- version, para la versión del plugin.
- min_version, para indicar la versión mínima de FacturaScripts necesaria.
- require, para indicar dependencias con otros modulos.

Además del fichero .ini, el plugin contendrá una serie de carpetas opcionales:
- Controller, donde se podrán añadir los controladores.
- Model, donde se definirán los modelos de las tablas.
- Table, donde se definirán las estructuras de las tablas, que serán creadas al activar el plugin.
- Translation, donde se inclurán los archivos con los textos de las traduciones en distintos idiomas. Debería de estar al menos el inglés (en_EN.json) y el español (es_ES.json), aunque luego, se podrán incluir las traducciones a otros idiomas desde la comunidad.
- View y XMLView, que contendrán respectivamente los archivos twig y XML de las vistas.

Los controladores

Dentro de la carpeta Controller, se incluirá un archivo para cada controlador. Cada archivo contendrá una clase con el mismo nombre que el archivo, clase que extenderá la Base/Controller o a algunas de sus descendientes.

<?php

namespace FacturaScripts\Plugins\MyNewPlugin\Controller;

use FacturaScripts\Core\Base;

/**
 * The controller for my fantastic new plugin for FacturaScritps
 *
 * @author Rafael San José <info@rsanjoseo.com>
 */
class MiNuevoPlugin extends Base\Controller	// Se puede usar cualquier tipo de controlador
{
	// Aquí vendría la clase del controlador
}


El namespace, usará la forma FacturaScripts\Plugins\<nombre del plugin>\Controller.

Habrá que hacer un use de cada clase necesaria.

Para lanzar el controlador, habrá que poner su nombre en la barra de direcciones del navegador. Si la dirección de ejecución de FacturaScripts es http://localhost/facturascripts, tendrá que ejecutarlo como:

http://localhost/facturascripts/MiNuevoPlugin


Puede obtener más información sobre los controladores en el apartado Controladores de la documentación.

Las vistas

Este ejemplo daría un error porque no se encuentra la plantilla por defecto que sería MiNuevoPlugin.html.twig, y que debe de encontrarse dentro de la carpeta View del plugin. Aún así, ya FacturaScripts nos muestra correctamente el mensaje de error.

Puede obtener más información sobre las vistas en el apartado Vistas de la documentación.

Las tablas y los modelos

Además de las carpetas Controller y View, se pueden crear las carpetas Model y Table. Model contendría la definición de los modelos, que son clases que nos permiten acceder a los datos; mientras que Table contendría la definición de dichas tablas para crearlas al activar el plugin.

Puede obtener más información sobre los modelos en el apartado Modelos de la documentación.

Recomendamos que para poder crear plugins, se familiarice con el código de los controladores, tablas, modelos y vistas ya existentes.


¿No encuentra lo que busca?

Otros idiomas:

  • Sin resultados.

Del mismo tema:




Soporte:

FacturaScripts es software libre y gratuito, pero si lo que busca es asesoramiento y soporte profesional, use la sección soporte.

  Soporte

Redes sociales:

Puede encontrarnos en las principales redes sociales. Y también en google+.





© 2013-2017 FacturaScripts