Home
NexoPOS

ns.forms

Questo filtro viene utilizzato per registrare o modificare i moduli esistenti. In NexoPOS, i moduli sono definiti nella directory app/Forms e registrati nel service provider app/Providers/FormsProvider.php. Il filtro ns.forms supporta due parametri: la classe che deve essere restituita e l’identificatore che deve essere corrisposto.

Se NexoPOS tenta di caricare un modulo personalizzato con l’identificatore “your-custom-id”, fornirà quel valore come identificatore e, durante la registrazione della tua classe, devi verificare se c’è una corrispondenza. Ecco un esempio.


<?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 );
    }
}

Siamo qui per definire un modulo personalizzato sulla nostra piattaforma che ha l’identificatore "YourModule". Ogni volta che NexoPOS necessita di un modulo con l’identificatore "your-custom-id", avrà la classe "YourCustomForm". Se l’$identifier non corrisponde al nostro identificatore, dobbiamo restituire il valore di $class. Questo è necessario perché il modulo potrebbe essere definito e gestito sia dal core sia da un altro modulo.