Esta web utiliza cookies propias y de terceros para su funcionamiento. ¿Aceptas? Leer más
Creación de plugins

AppSettings

La clase AppSettings permite leer y modificar algunas variables de configuración de la aplicacion. A la hora de trabajar con estos valores debemos diferenciar tres métodos:

  • Acceso y modificación desde PHP.
  • Acceso desde una planilla de twig.
  • Acceso desde la interfaz de usuario.

La información indicada para estos valores por defecto es almacenada en la tabla settings. Aunque a priori es accesible por el modelo del mismo nombre, y mediate la propiedad properties que es un array con la estructura nombre del campo => valor del campo, no se recomienda ese método de acceso sino el uso de los métodos de la clase AppSettings desde PHP.

Acceso desde PHP

Puedes acceder a appsettings en cualquier clase PHP, pero no olvides incluir el namespace al principio del archivo:

use FacturaScripts\Core\App\AppSettings;

get()

Devuelve el valor de la variable de configuración solicitada. Es un método estático de la clase AppSettings. Indiquemos el grupo o nombre del plugin que contiene el valor que deseamos. También podemos indicar un valor por defecto por si no existe el campo en el grupo. El mismo nombre de campo/valor puede estar en más de una grupo o plugin, por lo conviene indicar correctamente el nombre del grupo.

$coddivisa = AppSettings::get('default', 'coddivisa');

set()

Modifica el valor de la variable de configuración indicada. Este método necesita que le indiquemos el grupo o nombre del plugin que contiene el valor que deseamos. El mismo nombre de campo/valor puede estar en más de una grupo o plugin, por lo conviene indicar correctamente el nombre del grupo.

    $appSettings = new AppSettings();
    $appSettings->set('default', 'homepage', 'AdminPlugins');

Acceso desde Twig

Para acceder a los valores de configuración desde una plantilla o vista de Twig usaremos la variable appSettings. Con ella tenemos acceso a los métodos de lectura y escritura de valores definidos en el apartado de Acceso desde Controlador.

    {% set codpais = appSettings.get('default','codpais','ESP') %}

    {% if appSettings.get('default', 'ventasinstock', false) %}
        [ ... ]
    {% endif %}
Todavía más: