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

Curso básico de programación

Con este curso aprenderá los aspectos básicos para crear plugins para FacturaScripts.
Creado: 06-02-2019   Última actualización: 03-06-2019

 

Introducción

FacturaScripts es prácticamente un framework MVC escrito en PHP 7. Puede conectar tanto a MySQL como a PostgreSQL. La capa gráfica está construida sobre bootstrap 4 para adaptarse a PC, tablet y móvil. Y su sistema de plugins permite modificar el comportamiento de cualquier clase. En este curso...

El entorno de programación

Para facilitar el desarrollo lo mejor es contar con un potente IDE, que en nuestro caso es NetBeans. https://netbeans.org La importancia de un IDE Un IDE como NetBeans nos escanéa todo el código para ofrecernos ayudas como: Autocompletado de clases, métodos y propiedades. Documentación de las...

Su primer plugin

Un plugin no es más que una carpeta que contiene código que será utilizado por el programa principal. En FacturaScripts crear un plugin es tan sencillo como crear una nueva carpeta dentro de la carpeta Plugins/ de FacturaScripts. Creación manual Abra el explorador de archivos y vaya a la carpeta...

Estructura de un plugin

La carpeta del plugin deberá contener la siguiente estructura de archivos y directorios: facturascripts.ini Este archivo es el que indica a FacturaScripts los datos básicos de su plugin como son: nombre, descripción, versión, etc... Assets/ Esta carpeta contiene todo el CSS y javascript del...

Los modelos

En FacturaScripts los modelos cumplen una doble función, no sólo representan un objeto (como un producto) y permiten su creación, manipulación o eliminación de la base de datos, sino que además permiten obtener y filtrar otros objetos de la misma clase (en este caso más productos). Un modelo es...

La estructura de las tablas

FacturaScripts utiliza archivos XML para definir las estructuras de las tablas de la base de datos. De esta forma, el núcleo revisa las tablas y: Si no existe la tabla, la crea. Si existe la tabla, comprueba si tiene todas las columnas necesarias, si no, las crea. Si tiene más columnas de las...

Controladores de listados (ListController)

ListController es un controlador extendido para listados. Permite una o varias pestañas. Cada una con un listado de registros de un modelo. Controller/ListProject.php Vamos a comenzar creando nuestro listado de projectos. Para ello creamos el archivo ListProject en la carpeta Controller....

Controladores de edición (EditController)

EditController es un controlador extendido para editar muy rápidamente las propiedades de un modelo. Controller/EditProject.php Vamos a crear un controlador para editar proyectos, para ello cree el archivo EditProject dentro de la carpeta Controller. <?php namespace...

Ampliación del modelo

Ahora que ya estamos familiarizados con los modelos y controladores, vamos a ampliar el modelo Project para seguir profundizando. Model/Project.php Añadimos al modelo las columnas codcliente, description, total, user y verified. <?php namespace FacturaScripts\Plugins\MiPlugin\Model; use...

Ampliación del controlador de edición

Procedemos ahora a añadir las nuevas columnas al XMLView del controlador para edición. XMLView/EditProject.xml <?xml version="1.0" encoding="UTF-8"?> <view> <columns> <group name="basic" numcolumns="12"> <column name="customer" order="100"> <widget...

Ampliación del controlador de listados

Ahora vamos a añadir los nuevos campos al listado y a crear algunos filtros. XMLView/ListProject.xml Añadimos las nuevas columnas al archivo XMLView del controlador. <?xml version="1.0" encoding="UTF-8"?> <view> <columns> <column name="id" order="100"> <widget...

Añadir filtros al listado

Los ListController permiten una serie de filtros para aplicar a los resultados. Estos son los más importantes: Filtro checkbox El método addFilterCheckbox() añade un filtro de tipo checkbox o de selección booleana a la pestaña del ListController. Permite filtrar los resultados aplicando el...

Añadir pestañas al controlador de edición

Los EditController también permiten añadir pestañas. Pestañas de varios tipos: listados, edición múltiple, html... Añadir pestaña de listado Editamos el archivo Controller/EditController.php para sobreescribir los métodos método createViews() y loadData(): protected function createViews() {...

Usuario, IP y valores predeterminados

Ya sabemos que podemos colocar valores predterminados en el método clear() del modelo. ¿Pero qué pasa cuando lo que queremos es el usuario o la IP actual? Este tipo de valores solamente se pueden obtener desde el controlador. Controller/EditProject.php Podemos asignar estos valores tras la carga...

Herencia

Siempre hay que usar un alias para heredar de una clase que se llama igual. Herencia mal <?php namespace FacturaScripts\Plugins\MiPlugin\Model; use FacturaScripts\Core\Model\Producto; class Producto extends Producto { } Herencia bien <?php namespace FacturaScripts\Plugins\MiPlugin\Model;...

Modificar la ficha de clientes

Ahora vamos a añadir el listado de proyectos a la ficha de cliente (controlador EditCliente.php). Controller/EditCliente.php Creamos un archivo llamado EditCliente dento de la carpeta Controller. <?php namespace FacturaScripts\Core\Controller; use FacturaScripts\Core\Controller\EditCliente as...

El sistema de prioridades de plugins

El último plugin activo tiene prioridad sobre el anterior, y así sucesivamente. Cuando se consulta una página, se carga un modelo, una vista HTML, XML o un archivo javascript, se utiliza el archivo del plugin con mayor prioridad que tenga ese archivo. Gracias a este sistema podemos modificar el...

Registrar el plugin en facturascripts.com

Únase al equipo de desarrollo de FacturaScripts para poder registrar plugins en la web. Al pertenecer a este equipo ya puede registrar plugins. Simplemente: Vaya a la sección plugins. Vaya a la sección 2018 y pulse el botón +. Elija un nombre, una licencia y una descripción. ¿Tienes el código...

Contratos

Ahora que ya tiene unos conocimientos básicos de programación ¿Qué le parece ganar un dinero extra haciendo desarrollos a medida? En esta misma web tenemos una sección de contratos donde los clientes y partners van colgando los desarrollos que necesitan. Requisitos Todo lo que necesita para...