Fichier parameters.xml

Le fichier parameters.xml contient les données utilisées comme paramètres pour le fonctionnement du plugin. Les fichiers parameters.xml des plugins sont stockés dans le dossier data/configuration/plugins/.

Structure du fichier

Exemple :

<?xml version='1.0' encoding='UTF-8'?>
<document>
    <parameter name="param1" type="numeric">999</parameter>
    <parameter name="param2" type="string">parametre</parameter>
    <parameter name="param3" type="cdata"><![CDATA[parametre 2]]></parameter>
</document>

Chaque paramètre est à mettre dans une balise parameter. Les attributs name et type sont obligatoires. Un type peut être numeric, string ou cdata. Il conditionne la façon de stocker le contenu de la balise parameter. Le nom des paramètres est libre.

<parameter name="param1" type="numeric">999</parameter>
<parameter name="titre" type="string">titre</parameter>

Le fichier parameters.xml peut être utilisé et renseigné de plusieurs façons :

  • renseigné et utilisé à partir du code du plugin,

  • renseigné de manière interactive à partir de l’écran de configuration du plugin.

Lecture des données du fichier parameters.xml

La méthode getParam de l’object $plxPlugin permet de récupérer la valeur d’un paramètre stocké dans le fichier parameters.xml.

Exemple :

$plxPlugin->getParam('param1')

Écriture des données dans le fichier parameters.xml

L’écriture se fait en 2 temps :

  • renseigner la valeur du paramètre en appelant la méthode setParam de l’object $plxPlugin

  • sauvegarder les données dans le fichier en appelant la méthode saveParams de l’object $plxPlugin

Définir un paramètre

$plxPlugin->setParam(‘<nom du parametre>‘, ‘<valeur du parameter>’, ‘<type du parametre>’)

setParam permet de définir la valeur d’un paramètre.

Le type de paramètre doit être une valeur parmi numeric, string, cdata

Exemple :

$plxPlugin-> setParam ('param1', 12345, 'numeric')

Sauvegarder les paramètres

saveParams permet de sauvegarder tous les paramètres dans le fichier parametres.xml du plugin.

Exemple :

$plxPlugin->saveParams()

Voici un exemple de code qui affiche un formulaire en pré-renseignant les zones de saisies à partir des données stockées dans le fichier parameters.xml, puis qui sauvegarde les nouvelles valeurs saisies une fois le formulaire soumis.

Exemple :

<?php
    if(!empty($_POST)) {
        $plxPlugin->setParam('param1', $_POST['param1'], 'numeric');
        $plxPlugin->setParam('param2', $_POST['param2'], 'string');
        $plxPlugin->setParam('param3', $_POST['param3'], 'cdata');
        $plxPlugin->saveParams();
    }
?>
<form action="parametres_plugin.php?p=test" method="post">
    Parametre 1 : <input type="text" name="param1" value="<?= plxUtils::strCheck($plxPlugin->getParam('param1')) ?>"/><br>
    Parametre 2 : <input type="text" name="param2" value="<?= plxUtils::strCheck($plxPlugin->getParam('param2')) ?>"/><br>
    Parametre 3 : <input type="text" name="param3" value="<?= plxUtils::strCheck($plxPlugin->getParam('param3')) ?>"/><br>
    <br>
    <input type="submit" name="submit" value="Enregistrer" />
</form>

Il est indispensable d’utiliser la fonction plxUtils::strCheck afin de protéger l’affichage des caractères spéciaux mais aussi pour éviter, par exemple, d’injecter du code javascript (failles XSS).