Los Controladores

Un controlador es, básicamente, una página o opción en el menú de FacturaScripts. Cuando haces clic en el menú 'Almacén → Productos', estarás ejecutando el controlador ListProducto.php. Para saber qué controlador estás ejecutando, observa la barra de direcciones de tu navegador.

Requisitos para los Controladores

  • Los controladores deben estar ubicados en la carpeta Controller de su plugin.
  • El nombre del archivo debe coincidir con el de la clase que contiene.
  • La clase debe extender de FacturaScripts\Core\Template\Controller o de uno de los controladores extendidos.

Ejemplo: MyNewController.php

<?php
namespace FacturaScripts\Plugins\MyNewPlugin\Controller;

use FacturaScripts\Core\Template\Controller;

class MyNewController extends Controller
{
    public function getPageData(): array
    {
        $data = parent::getPageData();
        $data['menu'] = 'admin';
        $data['title'] = 'MyNewController';
        $data['icon'] = 'fa-solid fa-page';
        return $data;
    }

    public function run(): void
    {
        parent::run();

        // Tu código aquí
    }
}

En este ejemplo, hemos añadido esta página al menú de admin, con el título MyNewController y el icono fa-solid fa-page.

Función getPageData()

La función getPageData() define cómo aparece esta página en el menú, incluyendo a qué menú pertenece, así como su título e icono. Esta función será ejecutada por el núcleo de FacturaScripts cada vez que se invoque el controlador, así como al activar o actualizar el plugin. Devuelve un arreglo con los siguientes datos:

  • name: nombre de la clase del controlador. No debe ser modificado.
  • title: título de la página. Se traducirá utilizando el traductor integrado.
  • icon: icono a mostrar en el menú.
  • menu: menú en el que aparecerá.
  • submenu: submenú en el que aparecerá.
  • showonmenu: TRUE para mostrar en el menú (por defecto), FALSE para ocultar.
  • ordernum: orden de prioridad en el menú; un número más bajo significa que aparecerá más arriba.

Función run()

La función run() es donde inicial la ejecución del controlador. Coloca tu código aquí.

Herencia de Controladores

Puedes heredar y personalizar cualquier controlador existente, pero recuerda usar un alias antes de heredar. A continuación se muestra un ejemplo:

<?php
namespace FacturaScripts\Plugins\MyNewPlugin\Controller;

use FacturaScripts\Core\Controller\EditCliente as ParentController;

class EditCliente extends ParentController
{
    // Tu código aquí
}

Nota la línea use FacturaScripts\Core\Controller\EditCliente as ParentController;. El as permite usar EditCliente bajo el alias de ParentController. Si no usas un alias, se producirá una colisión de nombres al definir la nueva clase, ya que ambas clases tendrían el mismo nombre.

Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.26195s

Soporte