Carnet Wiki

Configurer avec SPIP3 (ou Bonux)

Version 3 — Août 2011 — 86.204.xx.xx

Brouillon de doc,
-  partiellement reportée sur spip.net pour la première partie http://www.spip.net/ecrire/?exec=articles&id_article=5414
-  à compléter

Objectif : créer une page de configuration pour une fonctionnalité d’un site, ou pour un plugin

Necessite : SPIP3 ou Bonux pour SPIP2

Etapes :
-  créer un formulaire CVT avec juste le HTML (sans les fonctions charger, verifier, traiter) et dont le nom commence par « configurer_ »,
-  appeler ce formulaire dans une page exec de nom « configurer_truc » aussi. Dans un cas simple, exec=configurer_truc.html contient simplement #FORMULAIRE_CONFIGURER_TRUC

Rq : pour ceux qui connaissent, c’est pareil qu’avec le plugin CFG quand on utilisait la dernière méthode propre de CFG c’est-à-dire celle qui utilisait un formulaire CVT

Par exemple, mediabox/prive/exec/configurer_mediabox.html contient :

[(#AUTORISER{configurer,mediabox}|oui)
	<h1><:mediabox:titre_page_configurer_box:></h1>
	<div class="ajax">
	#FORMULAIRE_CONFIGURER_MEDIABOX
</div>
]

Configuration d’un plugin

Si « truc » est le préfixe d’un plugin, un raccourci vers la page de config est automatiquement ajouté dans la page d’admin des plugins (avec l’icone « tournevis et clé à molette »).

Facilitations à l’aide du plugin Saisies

On peut notamment utiliser le plugin saisie pour générer le formulaire :

-  soit avec les #SAISIES dans le squelette html du formulaire (voir Saisies)

-  soit avec juste une fonction formulaires_truc_saisies_dist($params) dans le ficher PHP de définition du formulaire. Cela permet de déclarer toutes les zones de saisies avec en même temps leurs critères de validité et de vérification (API verifier). Dans ce cas, le fichier html doit exister, mais être vide.

Par exemple, pour le plugin ’produits’ le fichier formulaires/configurer_produits.php :

<?php
if (!defined('_ECRIRE_INC_VERSION')) return;  // Sécurité


function formulaires_configurer_produits_saisies_dist(){
    include_spip('inc/config');
    return array(
        array(
            'saisie' => 'input',
            'options' => array(
                'nom' => 'taxe',
                'label' => _T('produits:configurer_taxe_defaut_label'),
                'defaut' => lire_config('produits/taxe', ),
            ),
            'verifier' => array(
                'type' => 'decimal'
            )
        )
    );
}
?>

Accèder aux valeurs configurées

Dans Dans un squelette, on accède à  :
-  
en lecture avec la valeur d’une configuration au moyen de la balise [< code>#CONFIG</code > ->http://www [# CONFIG -> http://www .spip.net/fr_article4335.html] (par exemple {{#CONFIG{a_la_une}}})

Pour accéder à une valeur de configuration d’un plugin, il faut préfixer le paramètre par l’identifiant du plugin :
#CONFIG{monplugin/a_la_une}

En php on accèdera en lecture aux valeurs avec la fonction lire_config avec lire_config('monplugin/a_la_une'), ou directement dans la variable globale : $GLOBALS['meta']['a_la_une'].

En php :
-  avec $GLOBALS[’meta’]
[’XXXX’] En écriture en lecture , on utilisera la fonction [< code>ecrire_meta</code > - avec [’ ecrire_meta ->http://doc.spip.org/@ecrire_meta] (au singulier) pour chaque valeur à actualiser, puis ecrire_metas (au pluriel).puis ’ecrire_metas’ en écriture

Questions

Les fonctions cvt du plugin de configuration de mediabox sont loin d’être vides
http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/mediabox/formulaires/configurer_mediabox.php
comme elles sont sensées l’être. Alors quoi ?