====== Les paramètres des plugins ====== ===== Enregistrer un paramètre ===== Il faut d'abord sélectionner le //namespace// (espace de nom) des paramètres grâce à la fonction ''addNameSpace()'' : $core->blog->settings->addNameSpace('example'); 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 : - le nom du paramètre (une chaîne de caractères contenant uniquement des chiffres ou des lettres sans accent et ''_'') - sa valeur - son type (une chaîne de caractères) (facultatif mais recommandé pour éviter les ambiguïtés) - son label (une chaîne de caractères) (facultatif) - un booléen : écraser l'ancienne valeur (valeur par défaut : oui) (facultatif) - un booléen : le paramètre est global (valeur par défaut : non) (facultatif) ==== Example avec une chaîne de caractères avec un label ==== # 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 [[http://php.net/manual/fr/language.references.php|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'); ==== Les différents types de paramètres ==== 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'); Pour stocker une chaîne de caractères avec plusieurs lignes, utilisez la fonction ''[[http://fr.php.net/manual/fr/function.base64-encode.php|base64_encode()]]'' lors de l'enregistrement et ''[[http://fr.php.net/manual/fr/function.base64-decode.php|base64_decode()]]'' lors de la lecture du paramètre. Ceci préservera les retours à la ligne lors de l'édition de [[:2.0:admin:aboutconfig|about:config]]. ===== Lire un paramètre ===== 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; ===== Effacer un paramètre ===== 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');