ns.forms
Dieser Filter wird verwendet, um vorhandene Formulare zu registrieren oder zu bearbeiten. In NexoPOS werden Formulare im Verzeichnis app/Forms definiert und im Service-Provider app/Providers/FormsProvider.php registriert. Der Filter ns.forms unterstützt zwei Parameter: die Klasse, die zurückgegeben werden muss, und den Bezeichner, der abgeglichen werden soll.
Wenn NexoPOS versucht, ein benutzerdefiniertes Formular mit der Kennung „your-custom-id“ zu laden, stellt es diesen Wert als Kennung bereit, und beim Registrieren Ihrer Klasse müssen Sie prüfen, ob eine Übereinstimmung vorliegt. Hier ist ein Beispiel.
<?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 );
}
}
Wir sind hier, um ein benutzerdefiniertes Formular in unserem Modul zu definieren, das die Kennung „YourModule“ hat. Jedes Mal, wenn NexoPOS ein Formular mit der Kennung „your-custom-id“ benötigt, hat es die Klasse „YourCustomForm“. Wenn die $identifier nicht mit unserer Kennung übereinstimmt, müssen wir den Wert von $class zurückgeben. Dies ist notwendig, da das Formular möglicherweise entweder vom Core oder von einem anderen Modul definiert und verarbeitet wird.