Gérer les préférences d'un module par catégorie

Date 09/08/2007 | Sujet : Programmation, Hack, ...

Si vous êtes comme moi, vous vous dites probablement que le système de gestion des préférences dans Xoops laisse un peu à désirer.

Pour certains modules, ce n'est qu'une liste sans fin de paramètre dont on ne sait jamais très bien à quoi ils correspondent et quel impact ils ont.

Pour compenser cela, j'ai développé un script qui permettra aux développeurs de module d'y mettre bon ordre TRES FACILEMENT.
Ce script s'adresse principalement aux développeurs de modules qui disposent de beaucoup de préférences et qui souhaitent faciliter la tâche de leurs utilisateurs.

Téléchargez le script : >> Settings 1.0 <<
et le module de démonstration : Xoopsotron

Citation :

Comment procéder à l'installation du script ?

1) Télécharger l'archive, et copier son contenu dans le répertoire 'admin' du module.

2) Editer le fichier xoops_version.php et modifier les valeurs des préférences du module comme suit :

[nom-categorie]_[variable-preference].

Exemple :
Catégorie Index :
* index_banner
* index_texte_index

Catégorie Meta:
* meta_meta_keywords
* meta_meta_keywords

Catégorie Autre :
* autre_divers

Ce qui donne :

$modversion['config'][$i]['name'] = 'index_banner';
$modversion['config'][$i]['name'] = 'index_texte_index';
$modversion['config'][$i]['name'] = 'meta_meta_keywords';
$modversion['config'][$i]['name'] = 'meta_meta_keywords';
$modversion['config'][$i]['name'] = 'autre_divers';


Une valeur qui ne dispose pas d'un préfix s'affichera uniquement sous l'onglet 'Préférences' et n'apparaîtra dans aucune autre catégorie.

3) Editez le fichier de ‘modinfo.php’ et définissez les nouvelles ‘define’ de langue du script. Celles-ci sont générées automatiquement par le script de la façon suivante :
1. _MI_[LE_NOM_DU_MODULE]_[TAG_VARIABLE_PREFERENCE*]
2. _MI_[ LE_NOM_DU_MODULE]_[ TAG_VARIABLE_PREFERENCE *]DSC // Ceci est une description qui s’affichera avec la catégorie. Optionnel.
Ce qui donne :
define("_MI_XOOPSOTRON_INDEX","Index");
define("_MI_XOOPSOTRON_INDEXDSC","Préférences s'appliquant Ã  la page d’index du module.");

define("_MI_XOOPSOTRON_META","Meta");
define("_MI_XOOPSOTRON_METADSC","Préférences s'appliquant aux metas du module.");

define("_MI_XOOPSOTRON_AUTRE","Autres");
define("_MI_XOOPSOTRON_ AUTRE DSC"»Autres paramètres de préférence.");



* Attention : seul le tag de catégorie de la variable est utilisé ici.
** Si vous ne créez pas les ‘define’ personnalisées, le tag s’affichera pas défaut avec une *.

4) Editer le fichier 'settings.php' et définir les paramètres de celui-ci selon convenance.

Le script dispose d’options internes qu’il vous est loisible de personnaliser en fonction de votre module.

$display_help = 1; // Mettre à 0 pour masquer l’aide du script.
$def_menu = 'tab'; // Choisissez votre menu de navigation 'tab' ou 'select'.
$def_sub = ''; // Définissez ici le sous-menu par défaut (utilisez le tag).
$menu_select_max = 10; // Définissez combien de menu avant de passer automatiquemetn au mode 'menu déroulant' (liste déroulante).
$menu_select_multi = 20; // Définissez combien de menu avant de passer automatiquemetn au mode 'menu défilant' (liste défilante).
$xoops_cp_header = 1; // En fonction de votre module, utiliser ou non la fonction cp_header function si elle a été déclarée au préalable.

$alpha_sort=0; // Ordonner ou non les menu dans l’ordre alphabétique.


// Définir la couleur des onglets. La première correspond au premier onglet, et ainsi de suite.
$colors = array( 'Gold|PaleGoldenRod',
'GoldenRod|Gold',
'GoldenRod|Gold' );

// Définir la couleur par défaut des onglets si la liste ci-dessus est épuisée.
$default_color = 'LightGrey|WhiteSmoke';




Cet article provient de Communauté Francophone des Utilisateurs de Xoops
https://www.frxoops.org

L'adresse de cet article est :
https://www.frxoops.org/modules/news/article.php?storyid=1372