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.