Mensajes de notificación
Agregar avisos a una página de configuración podría proporcionar más detalles sobre cómo gestionar las configuraciones mostradas. Esto podría incluir cómo obtener una clave API o qué se debe hacer para que la configuración funcione correctamente. Independientemente del motivo, NexoPOS incluye una forma de mostrar cuatro tipos de avisos: información, error, advertencia y éxito.
El tipo de aviso aquí define sus colores. Usarás uno de estos colores para que coincida con la expresión de la gravedad del aviso.
Para continuar, primero debes definir tus Configuraciones creando una clase que extienda "App\Services\SettingsPage". En esa clase, definiremos nuestras configuraciones de la siguiente manera:
<?php
namespace Modules\YourModule\Settings;
use App\Services\SettingsPage;
use App\Classes\SettingForm;
class MySettings extends SettingsPage
{
const IDENTIFIER = 'my-settings';
const AUTOLOAD = true;
public function __construct()
{
$this->form = SettingsForm::form(
title: __m( 'My Settings', 'YourModule' ),
description: __m( 'Configure your settings', 'YourModule' ),
tabs: SettingsForm::tabs(
SettingsForm::tab(
identifier: 'general',
label: __m( 'General Settings', 'YourModule' ),
fields: SettingsForm::fields(
// ... fields here
)
)
)
)
}
}
Ahora, agregaremos al método SettingsForm::tab los avisos que queremos mostrar.
<?php
namespace Modules\YourModule\Settings;
use App\Services\SettingsPage;
use App\Classes\SettingForm;
use App\Classes\Notice;
class MySettings extends SettingsPage
{
const IDENTIFIER = 'my-settings';
const AUTOLOAD = true;
public function __construct()
{
$this->form = SettingsForm::form(
title: __m( 'My Settings', 'YourModule' ),
description: __m( 'Configure your settings', 'YourModule' ),
tabs: SettingsForm::tabs(
SettingsForm::tab(
identifier: 'general',
notices: [
Notice::info(
title: __m( 'How It Works', 'YourModule' ),
description: __m( 'You must retreive the API from your account...', 'YourModule' ),
)
],
label: __m( 'General Settings', 'YourModule' ),
fields: SettingsForm::fields(
// ... fields here
)
)
)
)
}
}
Además, hemos agregado la clase App\Classes\Notice, que proporciona el cuarto tipo de aviso como un método. Por ejemplo, usaremos "info" para un aviso azul, "error" para un aviso rojo, etc.
Ahora, deberíamos tener la siguiente salida en nuestra página de configuración.
El formulario no tiene campos, ya que no hemos configurado ninguno.