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

Curso básico de programación (versión 2017)

Con este curso aprenderá los aspectos básicos para crear un plugin para FacturaScripts 2017. Le enseñaremos a crear nuevos modelos, listados, formularios de edición y ciertas personalizaciones.

Nota: este curso requiere unos conocimiento básicos de PHP.
12-02-2019   15-02-2019


Introducción

FacturaScripts es prácticamente un **framework** MVC escrito en **PHP** 5.4 (*compatible con versiones superiores, inluida PHP 7.X*). Puede conectar tanto a **MySQL** como a PostgreSQL. La capa gráfica está construida sobre **bootstrap** para adaptarse a PC, tablet y móvil. Y su sistema de...

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: - Autocompletar de clases, métodos y propiedades. - Documentación de...

Su primer plugin

Un plugin no es más que **una carpeta** que contiene código que será utlizado 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 1. Abra el explorador de archivos y...

Estructura de un plugin

Estas son las carpetas y archivos que puede contener un plugin en FacturaScripts: ### controller/ Contiene los controladores del plugin, **uno en cada archivo**, con el mismo nombre que la clase del [controlador](/doc/2/programacion/4-mi-controlador-php) que contienen. Es decir, si el archivo se...

Prioridades de plugins

Lo primero que debe tener claro es el sistema de prioridades por el que se rige FacturaScripts. **El último plugin activo tiene más prioridad que el anterior**, y así sucesivamente. Cuando se consulta una página, se carga un modelo, una vista html o un archivo javascript, primero se comprueba si...

Controladores de listados

FacturaScripts tiene un controlador específico para listados que nos facilitará mucho el trabajo: [fs_list_controller](/doc/2/programacion/4-mi-controlador-php/fs-list-controller). ## Ejemplo: mi_listado.php ``` <?php class mi_listado extends fs_list_controller { public function __construct()...

Controladores de edición

FacturaScripts también dispone de un controlador específico para editar registros: [fs_edit_controller](/doc/2/programacion/4-mi-controlador-php/fs-edit-controller). ### Ejemplo (edit_stock.php) Creamos un nuevo controlador que herede de **fs_edit_controller** y en la función...

Los modelos

Todos los modelos heredan de la nueva clase **fs_extended_model** o **fs_model**, que es la encargada de comprobar la tabla y hacer los ajustes necesarios. ## Ejemplo (problema.php) Vamos a crear un modelo problema con las columnas sintomas, soluciones, fecha y nick, además de idproblema que...

La estructura de las tablas

FacturaScripts utiliza los archivos de la carpeta **model/table/** para generar y adaptar la estructura de las tablas. Estos archivos son XML y tienen el siguiente estilo: ## Ejemplo (problemas.xml) ``` <?xml version='1.0' encoding='UTF-8'?> <tabla> <columna>...

Herencia de modelos

Los modelos de los principales plugins ya permiten herencia de forma muy sencilla. Si por ejemplo deseas extender el modelo factura_cliente, copia el archivo **plugins/facturacion_base/model/factura_cliente.php** a tu plugin. Este archivo ya realiza la herencia al de la carpeta core, así que...

Botones y acciones

Podemos añadir botones y programar acciones de los listados, así como modificar el comportamiento de las acciones editar o eliminar en los controladores de edición. ## Añadir botones en listados ``` $this->add_button($tab_name, $label, $link = '#', $icon = '', $class =...

Métodos de uso habitual en controladores

Esta es una pequeña recopilación de métodos de uso común en controladores: ## Mostrar mensajes al usuario Dispones de 3 funciones para mostrar consejos, mensajes comunes o mensajes de error. ### Mostrar un consejo ``` $this->new_advice('tu texto'); ``` ### Mostrar un mensaje ```...

El sistema de actualización de plugins

El sistema de actualizaciones de FacturaScripts permite actualizar tanto plugins **públicos** como **privados**. El único requisito es que estén registrados en la [sección plugins](/plugins?activetab=ListPlugin2017) de **facturascripts.com** ## Ventajas - Puedes crear plugins públicos o...