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.