Module development: Difference between revisions

m
Line 219: Line 219:


== Définissez vos entrées ==
== Définissez vos entrées ==
Pour cela, il vous faut définir dans le fichier descripteur de menu le tableau
Pour cela, il vous faut définir dans le fichier descripteur de module, le tableau this->menu qui déclare les menus.
Ce tableau contient toutes les entrées qui apparaitront dans les menus une fois le module activé.
Le fichier de descripteur de module exemple '''modMyModule.class.php''' possède un exemple de déclaration de menu haut ainsi que de ses entrées menu gauche associées.
 
Voici un exemple de déclaration d'entrées de menu dans le fichier descripteur:
<pre>
<pre>
$this->menu
// Main menu entries
$this->menu = array(); // List of menus to add
$r=0;
 
// Add here entries to declare new menus
// Example to declare the Top Menu entry:
$this->menu[$r]=array( 'fk_menu'=>0, // Put 0 if this is a top menu
'type'=>'top', // This is a Top menu entry
'titre'=>'MyModule top menu',
'mainmenu'=>'mymodule',
'leftmenu'=>'1', // Use 1 if you also want to add left menu entries using this descriptor. Use 0 if left menu entries are defined in a file pre.inc.php (old school).
'url'=>'/mymodule/pagetop.php',
'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position'=>100,
'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
'target'=>'',
'user'=>2); // 0=Menu for internal users, 1=external users, 2=both
$r++;
 
// Example to declare a Left Menu entry:
$this->menu[$r]=array( 'fk_menu'=>'r=0', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry)
'type'=>'left', // This is a Left menu entry
'titre'=>'MyModule left menu 1',
'mainmenu'=>'mymodule',
'url'=>'/mymodule/pagelevel1.php',
'langs'=>'mylangfile', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position'=>100,
'enabled'=>'1', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.
'perms'=>'1', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules
'target'=>'',
'user'=>2); // 0=Menu for internal users,1=external users, 2=both
$r++;
</pre>
</pre>
Ce tableau contient toutes les entrées qui apparaitront dans les menus une fois le module activé.
Les fichiers de descripteur de module exemple possède un exemple de déclaration de menu haut ainsi que de ces entrées menu gauche correspondantes.


== Tester vos entrées menus ==
== Tester vos entrées menus ==