Il faut d'abord sélectionner le namespace (espace de nom) des paramètres grâce à la fonction addNameSpace()
:
$core->blog->settings->addNameSpace('example');
Note :
Le paramètre de addNamespace() ne doit contenir que des chiffres ou des lettres sans accent.Permis : [a-zA-Z][a-zA-Z0-9]
Il est conseillé d'utiliser le nom du plugin comme namespace pour éviter que 2 plugins n'aient le même namespace.
Pour sauvegarder un paramètre on utilise la fonction put()
, dont les paramètres sont :
_
)# création du namespace $core->blog->settings->addNameSpace('example'); # l'objet $core->blog->settings->example a été créé # enregistrement du paramètre dans le namespace example $core->blog->settings->example->put('setting_name', __('Hello World!'), 'string', 'My label');
Il est possible d'utiliser l'assignation par référence pour faciliter l'accès aux paramètres :
# création du namespace $core->blog->settings->addNameSpace('example'); # assignation par référence, $example_settings pointe vers le namespace nouvellement créé $example_settings =& $core->blog->settings->example; # enregistrement du paramètre $example_settings->put('setting_name', __('Hello World!'), 'string', 'My label');
Enregistrer un nombre flottant :
$core->blog->settings->example->put('pi', 3.14159265, 'float');
Enregistrer un nombre entier :
$core->blog->settings->example->put('nb_entries', 217, 'integer');
Enregistrer un booléen :
$core->blog->settings->example->put('is_valid', true, 'boolean');
Enregistrer une chaîne de caractères :
$core->blog->settings->example->put('title', __('Hello World!'), 'string');
Attention :
Pour stocker une chaîne de caractères avec plusieurs lignes, utilisez la fonctionbase64_encode()
lors de l'enregistrement et base64_decode()
lors de la lecture du paramètre. Ceci préservera les retours à la ligne lors de l'édition de about:config.
Un paramètre est assigné à la variable $core→blog→settings→nom du namespace→nom du paramètre, par exemple :
$string = $core->blog->settings->example->title;
Il faut utiliser la fonction drop()
avec l'identifiant du paramètre comme argument :
$core->blog->settings->addNamespace('example'); # création du paramètre $core->blog->settings->example->put('title', __('Hello World!'), 'string'); # suppression du paramètre $core->blog->settings->example->drop('title');