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.