Inicio
NexoPOS

ns.forms

Este filtro se utiliza para registrar o editar formularios existentes. En NexoPOS, los formularios se definen en el directorio app/Forms y se registran en el proveedor de servicios app/Providers/FormsProvider.php. El filtro ns.forms admite dos parámetros: la clase que debe devolverse y el identificador que debe coincidir.

Si NexoPOS intenta cargar un formulario personalizado con el identificador «your-custom-id», proporcionará ese valor como identificador y, al registrar tu clase, necesitas comprobar si hay una coincidencia. Aquí tienes un ejemplo.


<?php 
namespace Modules\YourModule\Providers;

use Illuminate\Support\ServiceProvider;
use Modules\YourModule\Forms\YourCustomForm;

class YourServiceProvier extends ServiceProvider
{
    public function boot()
    {
        Hook::addFilter( 'ns.forms', function( $class, $identifier ) {
            switch ( $identifier ) {
                case 'your-custom-id':
                    return new YourCustomForm;
            }

            return $class;
        }, 10, 2 );
    }
}

Estamos aquí para definir un formulario personalizado en nuestro módulo que tiene el identificador "YourModule". Cada vez que NexoPOS necesite un formulario con el identificador "your-custom-id", tendrá la clase "YourCustomForm". Si el $identifier no coincide con nuestro identificador, debemos devolver el valor de $class. Esto es necesario ya que el formulario podría estar definido y gestionado tanto por el core como por otro módulo.