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

El gestor de eventos de FacturaScripts

FacturaScripts incluye un sencillo gestor de eventos para dotarlo de un mayor nivel de personalización.

Eventos en modelos

Todos los modelos invocan eventos al guardar o eliminar. En concreto, los eventos disponibles son:

  • Model:NombreDelModelo:delete, se invoca cada vez que se elimina un registro de un modelo.
  • Model:NombreDelModelo:saveInsert, se invoca cada vez que se inserta un nuevo registro de un modelo en la base de datos.
  • Model:NombreDelModelo:saveUpdate, se invoca cada vez que se actualizan los datos de un registro de un modelo en la base de datos.
  • Model:NombreDelModelo:save, se invoca cada vez que se guarda en la base de datos los datos de un registro de un modelo, ya sea por insert o update.

Ejecutar una función cuando se invoca un evento

Imaginemos que queremos hacer algo cuando se elimina un artículo. Deberemos crear o modificar el archivo Init.php de nuestro plugin, y añadir lo siguiente en la función init():

EventManager::attach('Model:Articulo:delete', function($model) {
    /// su código aquí
    /// $model contiene el artículo que se ha eliminado
});

Invocar un evento

Imaginemos que queremos lanzar un evento nuevo, el cuál será usado por otros plugins para hacer más cosas:

EventManager::trigger('NombreDelEvento', $parametrosOpcionales);