Carnet Wiki

Configurer avec SPIP3 (ou Bonux)

Version 2 — Juillet 2011 JLuc

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 - comment accède t on aux valeurs configurées

configurées  :

  • dans un squelette  ? (avec #CONFIG ?)
  • en php ? (avec lire_meta ?)

Dans un squelette :
-  en lecture avec la balise #CONFIG (par exemple {{#CONFIG{a_la_une}}})

En php :
-  avec $GLOBALS[’meta’][’XXXX’] en lecture,
-  avec ’ecrire_meta’ puis ’ecrire_metas’ en écriture

Questions

Interrogations

- Les fonctions cvt du plugin de configuration de mediabox sont loin d’être vides
php" class="spip_url spip_out auto" rel="nofollow external">http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/mediabox/formulaires/configurer_mediabox.php
comme elles sont sensées l’être. Alors quoi  ? php