Accueil
NexoPOS

ns.forms

Ce filtre est utilisé pour enregistrer ou modifier des formulaires existants. Sur NexoPOS, les formulaires sont définis dans le répertoire app/Forms et enregistrés dans le fournisseur de services app/Providers/FormsProvider.php. Le filtre ns.forms prend en charge deux paramètres : la classe qui doit être renvoyée et l’identifiant qui doit être mis en correspondance.

Si NexoPOS essaie de charger un formulaire personnalisé avec l’identifiant « your-custom-id », il fournira cette valeur comme identifiant, et lors de l’enregistrement de votre classe, vous devez vérifier s’il y a une correspondance. Voici un exemple.


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

Nous sommes ici pour définir un formulaire personnalisé sur notre module qui a l’identifiant « YourModule ». Chaque fois que NexoPOS a besoin d’un formulaire avec l’identifiant « your-custom-id », il aura la classe « YourCustomForm ». Si l’$identifier ne correspond pas à notre identifiant, nous devons renvoyer la valeur de $class. Ceci est nécessaire car le formulaire peut être défini et géré soit par le cœur, soit par un autre module.