Início
NexoPOS

ns.forms

Este filtro é usado para registrar ou editar formulários existentes. No NexoPOS, os formulários são definidos no diretório app/Forms e registrados no provider de serviço app/Providers/FormsProvider.php. O filtro ns.forms suporta dois parâmetros: a classe que precisa ser retornada e o identificador que precisa ser correspondido.

Se o NexoPOS tentar carregar um formulário personalizado com o identificador “your-custom-id”, ele fornecerá esse valor como identificador e, ao registrar sua classe, você precisa verificar se há uma correspondência. Aqui vai um exemplo.


<?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 aqui para definir um formulário personalizado no nosso módulo que tenha o identificador “YourModule”. Sempre que o NexoPOS precisar de um formulário com o identificador “your-custom-id”, ele terá a classe “YourCustomForm”. Se o $identifier não corresponder ao nosso identificador, devemos retornar o valor de $class. Isso é necessário porque o formulário pode ser definido e tratado tanto pelo núcleo quanto por outro módulo.