Fork me on GitHub

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

200709
Août
  Solo71 Programmation, Hack, ... 4604
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';

Note: 0.00 (0 votes) - Noter cet article -

Partager Twitter Partagez cette article sur GG+
Format imprimable Envoyer cet article à un ami
Les commentaires appartiennent à leurs auteurs. Nous ne sommes pas responsables de leur contenu.
Admin Frxoops
Inscrit le: 04/02/2003
De: Belgique
Contributions: 3376
Solo71 Posté le: 09/08/2007 12:16  Mis à jour: 09/08/2007 12:16
 Re: [SCRIPT] Gérer les préférences d'un module par c...
J'ai oublié de préciser qu'il faut adapter le nom des préférences du module dans l'ensemble du module bien évidemment.

Pour cela, il suffit d'utiliser des logiciels de 'rechercher/remplacer' sur plusieurs fichier.

Bon Xoops.

Semi pro
Inscrit le: 05/06/2004
De:
Contributions: 750
Niluge Posté le: 09/08/2007 17:15  Mis à jour: 09/08/2007 17:15
 Re: [SCRIPT] Gérer les préférences d'un module par c...
Très intéressant!
Ca permet de court-circuiter la gestion des paramètres du module par le module système, donc tout se gère dans l'admin du module concerné, donc on peut garder enfin le menu horizontal du haut sur toutes les pages, dont celle des paramètres!
Tout ceci sans hacker xoops, et en gardant toujours la possibilité de gérer les paramètres comme avant.

Très pratique!
Anonyme Posté le: 10/08/2007 08:15  Mis à jour: 20/07/2012 18:10
 Re: [SCRIPT] Gérer les préférences d'un module par c...
Bravo pour l'idée, cela va être intéressant
Xoops accro
Inscrit le: 25/02/2004
De: Région parisienne
Contributions: 2526
DuGris Posté le: 11/08/2007 20:13  Mis à jour: 11/08/2007 20:13
 Re: [SCRIPT] Gérer les préférences d'un module par c...
Petite correction à apporter :
remplacer
$ele = new XoopsFormColorPicker($title$config[$i]->getVar('conf_name'), 9$myts->htmlspecialchars($config[$i]->getConfValueForOutput()));


par
$config[$i]->getVar('conf_name'), $myts->htmlspecialchars($config[$i]->getConfValueForOutput()));
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

61 Personne(s) en ligne (2 Personne(s) connectée(s) sur Articles) | Utilisateur(s): 0 | Invité(s): 61 | Plus ...