Fork me on GitHub

Rapport de message :*
 

Idees sur le menu d'administratin d'un module

Titre du sujet : Idees sur le menu d'administratin d'un module
par garrath sur 06/03/2006 19:49:57

Bonjour ceci est ma premiere contribution a ce magnifique forum.

On est entrain de monter un site ou on utilise Xoops.

On a besoin particulier, donc je suis entrain d'ecrire un module complet pour ce faire (une sorte de wiki).
La je commence a ecrire quelques parties d'administration de mon module, et je trouve que c'est un petit peu dommage qu'il n'y a pas de normalisation a ce niveaux la.

1 - J'ai regarde les codes de plusieurs modules et surtout de celui du module system.
L'idee du menu d'administration du menu system est super, un repertoire par fonctionalite...
C'est pas mal et c'est super mais il va pas assez loin, car si on rajoute un repertoire il faut aller modifier le fichier menu.php (si c'est celui la dans le xoops_version).

C'est pourquoi j'ai donc bricoler un petit menu.php qui fait a peu pres la meme chose que le amin.php du module system.

Au niveau du Xoops_version.php tres classiquement
Citation :

// Administration tools
$modversion['hasAdmin'] = 1;
$modversion['adminindex'] = "admin/admin.php";
$modversion['adminmenu'] = "admin/menu.php";


et au niveau de mon admin/menu.php
Citation :

<?php
// Gestion un peu differente du menu qui apparait en passant la souris
// sur l'icone du module dans la page d'administration
//
// Plutot que le menu soit construit directement ici de ce type là :
// (exemple tire de wiwimod)
//$adminmenu[1]['title'] = _MI_WIWIMOD_ADMENU1;
//$adminmenu[1]['link'] = "admin/index.php";
//$adminmenu[2]['title'] = _MI_WIWIMOD_ADMENU2;
//$adminmenu[2]['link'] = "admin/acladmin.php";
//$adminmenu[3]['title'] = _MI_WIWIMOD_ADMENU3;
//$adminmenu[3]['link'] = "admin/myblocksadmin.php";
//
// Je construit le menu en fonction des parties d'administrations existantes
// Chaque fonctionalites du menu admin se trouve dans un repertoire sous admin
// Je recherche donc dans tous les repertoires sous admin les fichiers menu.php
// et la lecture en boucle en incrementant $i me permet de creer le tableaux de la
// meme façon qu'au dessus.
// L'avantage, je n'ai pas besoins de changer le menu.php a chaque fois que je rajoute
// ou enleve une fonctionnalite.
// Chaque fonctionnalite est rangee dans son propre repertoire et est independante

$ModuleDirectory = XOOPS_ROOT_PATH.'/modules/NOMMODULE';
$admin_dir = $ModuleDirectory."/admin";
$handle = opendir($admin_dir);

$i = 0;
while ($file = readdir($handle)) {
if (strtolower($file) != 'cvs' && !preg_match("/[.]/", $file) && is_dir($admin_dir.'/'.$file)) {
include $admin_dir.'/'.$file.'/menu.php';
$i++;
}
}

?>

et du coup dans chaque reperteroire sous admin j'ai des menu.php du type suivant :
Citation :

<?php
$adminmenu[$i]['title'] = "Pages";
$adminmenu[$i]['link'] = "admin/pages/index.php";
?>

J'ai juste un petit truc qui me gene, c'est que au niveau de mon NOMMODULE j'aurais bien aime le recuperer de façon dynamique avec $xoopsModule->dirname() mais ca ne marche pas. Ce qui semble logique vu que a priori la, a ce moment je suis dans le module admin...

2 - Le second point que je trouve dommage aussi, c'est que au final on a tout plein de menu different, certains sous forme d'onglets, d'autres sous formes de tableaux, et d'autres des betes listes de liens!
Pourquoi rien de normalisé a ce niveau la?
Pourquoi pas une gestion totalement dynamique avec un appel ensuite d'un objet pour l'affichage? Quitte a l'utilisateur et non au createur de choisir s'il veut son menu sous tel ou tel forme...

Enfin voilà, c'etait deux petites idees que j'ai eu et que je suis entrain de faire d'ailleurs ...
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

10 Personne(s) en ligne (7 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 10 | Plus ...