class.menu.php

La class de menu à était écrite spécifiquement pour développer de manière automatique les menus, avec une fonction de récursivité (boucle pour prendre en charge plusieurs niveaux).

Cette class est appelé comme constructeur de menu, mais aussi pour la reindexation des entrées, l’ajout du système de maintenances, sur les entrée, ‘organisation hiérarchique et la gestion des acl, par la page de gestion de menu, et celle de gestion des permissions.

Généralités

Le répertoire box

C’est lui, et ces fichiers qui définissent l’organisation des menus , il liste l’ensemble des entrées, et organise la structure, à travers des tableaux php, ou des appels sql.

Toutes les éléments trouvés dans ce répertoire, sont ajouté automatiquement à la gestion des acls du noyau, apres visite de la page admin_file

Sont listés les fichiers, et les éléments de chacun des fichiers.

Il est possible d’organiser les menu, en utilisant l’ordre et le niveau des tableaux de chacun des fichiers.

Les tables SQL associés

les tables admin_file et configuration_groups. La première défini les acls des fichiers en fonction du groupe de l’utilisateur, la seconde construit le menu spécifique « configuration », dont une partie des entrée sont directement stockés en db.

La table configuration_group  à 2 colonnes supplémentaire par rapport à la version officiel oscss.

Reset des permissions

Pour  remettre à zéro les permissions, il suffit  (pour le moment) de visualiser les droit du groupe admin.

Utilisation

Appeler le menu

Pour afficher le menu, les options par defaut suffise, et la class est requise dans le application_top, donc de maniére permanente:

$menu= new menu();

$menu->cstr($option);

Des options sont possible, elle permette d’adapter le format de sortie, ou de preciser le groupe de l’utilisateur pour la sortie du menu.

$option_menu_admin[‘format_line_box_open’]='<li%4\$s ».' » id= »‘. »%3\$s ».' »>’. »%1\$s ».'<ul id= »‘. »fils%3\$s ».' »>’. »%2\$s ».'</ul></li>’ . »\n »;
$option_menu_admin[‘format_line_box’]='<li%4\$s ».' » id= »‘. »%3\$s ».' »>’. »%1\$s ». ». »%2\$s ».'</li>’ . »\n »;
$option_menu_admin[‘format_entete’]='<a id= »‘. »%1\$s ».' » href= »‘. »%2\$s ».' » ‘. »%4\$s ».’>’. »%3\$s ».'</a>’ . »\n »;
$option_menu_admin[‘format_js’]=’ onclick= »showmenu(‘. »%1\$s ».’) » ‘;
$option_menu_admin[‘tabl_img’]=$array_img_menu_amdin;

Le tableau d’image est optionnel, si des images precisé sont trouvé, alors une balise image est ajouter à coté du liens du menu. par defaut, une class est précisé pour chaque menu, portant un identifiant unique, aussi il est possible de définir directement un jeu d’icone via le css

ex, (theme defaut, group admin (stylesheet-1.css) )

a.menuBoxContentLink.server_info { background-image:  url(img/1/server_info.png);}
a.menuBoxContentLink.stats { background-image:  url(img/1/stats.png);}
a.menuBoxContentLink.catalog { background-image:  url(img/1/catalog.png);}
/*  —- osCMS  —- */
a.menuBoxContentLink.cms { background-image:  url(img/1/cms.png); }

Ajouté une entrée de menu

Pour ajouter une entrée de menu, il suffit pour le moment de l’ajouter à une boxe. Le menu est ajouté dans la db sur la table admin_file de maniere auto. les droits sont appliqué par defaut pour l’admin, et aucun autre. Il est alors necessaire de regler les droits des groupes, dans la gestion des permission (menu admin>groupe>permission)

Tags : , , , , ,

Les commentaires sont fermés.