Description de l'anomalie:
Contexte:
Dans l'admin, il est fréquent de voir sur la même page la liste des items d'une table et la fiche de modification ou d'ajout des items.
Je dissocie systématiquement les deux pour plusieurs raisons:
- la liste des items par exemple dans mon module Lexique ou mediatheque est très importantes (plus de 1000)
- La fiche de chaque item comporte beaucoup d'options
- pour plus de clarté
dans le fichier "menu.php" nou avons normalement un truc du genre:
$i++;
$adminmenu[$i]["title"] = getConst('MEDIAS','MED');
$adminmenu[$i]["link"] = "admin/index.php?op=list";
$adminmenu[$i]["icon"] = XOOPS_MA_URL . '/icons/32/view_detailed.png';
par défaut la liste des items s'affiche, jusque là ok
et dans la liste des items j'appelle l'url en modifiant les paramêtres:
$link = "admin/index.php?op=fiche&idMedia=x"; //ou x est l'id de l'item à modifier
redirect ($link);
Dans ce cas l'onglet mis en valeur est l'onglet "index" ce qui n'est pas bon.
Raison: pour tester l'onglet à mettre en valeur, $link est comparé à admi_menu['linkk']
Ma solution:
j'ai ajouté une option "menu" dans le tableau du fichier "menu.php"
$i++;
$adminmenu[$i]["title"] = getConst('MEDIAS','MED');
$adminmenu[$i]["menu"] = "media"; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$adminmenu[$i]["link"] = "admin/index.php?menu=media&op=list";
$adminmenu[$i]["icon"] = XOOPS_MA_URL . '/icons/32/view_detailed.png';
et j'ai modifié le code en testant la clé "menu" à la place de admin_menu['link"]
Bien sur pour garder la compatibilité avec le autres modules, je laisse le comportament normal si la clé "menu" n'existe pas.
JJDai