Menu décalé d'un nouveau module

Bonjour,

dans la création de mon module, je ne comprends pas pourquoi le menu ‹ on continue › est décalé comme sur l’image:

Capture-1

Merci pour votre retour et bonne journée

        $this->menu[$r++] = array(
            'fk_menu'=>'', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
            'type'=>'top', // This is a Top menu entry
            'titre'=>'Laboratoire',
            'mainmenu'=>'laboratoire',
            'leftmenu'=>'',
            'url'=>'/laboratoire/laboratoireindex.php',
            'langs'=>'laboratoire@laboratoire', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
            'position'=>1000 + $r,
            'enabled'=>'$conf->laboratoire->enabled', // Define condition to show or hide menu entry. Use '$conf->laboratoire->enabled' if entry must be visible if module is enabled.
            'perms'=>'$user->rights->laboratoire->recette->read', // Use 'perms'=>'$user->rights->laboratoire->level1->level2' if you want your menu with a permission rules
            'target'=>'',
            'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
        );

        $this->menu[$r++]=array(
            // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
            'fk_menu'=>'fk_mainmenu=laboratoire',
            // This is a Left menu entry
            'type'=>'left',
            'titre'=>'List Recette',
            'mainmenu'=>'laboratoire',
            'leftmenu'=>'laboratoire_recette',
            'url'=>'/laboratoire/recette_list.php',
            // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
            'langs'=>'laboratoire@laboratoire',
            'position'=>1100+$r,
            // Define condition to show or hide menu entry. Use '$conf->laboratoire->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
            'enabled'=>'$conf->laboratoire->enabled',
            // Use 'perms'=>'$user->rights->laboratoire->level1->level2' if you want your menu with a permission rules
            'perms'=>'1',
            'target'=>'',
            // 0=Menu for internal users, 1=external users, 2=both
            'user'=>2,
        );
        $this->menu[$r++]=array(
            // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
            'fk_menu'=>'fk_mainmenu=laboratoire,fk_leftmenu=laboratoire_recette',
            // This is a Left menu entry
            'type'=>'left',
            'titre'=>'New Recette',
            'mainmenu'=>'laboratoire',
            'leftmenu'=>'laboratoire_recette',
            'url'=>'/laboratoire/recette_card.php?action=create',
            // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
            'langs'=>'laboratoire@laboratoire',
            'position'=>1100+$r,
            // Define condition to show or hide menu entry. Use '$conf->laboratoire->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
            'enabled'=>'$conf->laboratoire->enabled',
            // Use 'perms'=>'$user->rights->laboratoire->level1->level2' if you want your menu with a permission rules
            'perms'=>'1',
            'target'=>'',
            // 0=Menu for internal users, 1=external users, 2=both
            'user'=>2
        );
        $this->menu[$r++]=array(
            // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
            'fk_menu'=>'fk_mainmenu=laboratoire,fk_leftmenu=laboratoire_recette',
            // This is a Left menu entry
            'type'=>'left',
            'titre'=>'on continue',
            'mainmenu'=>'laboratoire',
            'leftmenu'=>'laboratoire_recette',
            'url'=>'/laboratoire/recette_card.php?action=create',
            // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
            'langs'=>'laboratoire@laboratoire',
            'position'=>1100+$r,
            // Define condition to show or hide menu entry. Use '$conf->laboratoire->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
            'enabled'=>'$conf->laboratoire->enabled',
            // Use 'perms'=>'$user->rights->laboratoire->level1->level2' if you want your menu with a permission rules
            'perms'=>'1',
            'target'=>'',
            // 0=Menu for internal users, 1=external users, 2=both
            'user'=>2
        );

Bonjour,

Dans la déclaration du menu, il faut enlever le mainmenu au niveau de la deuxième ligne du menu si je ne me trompe pas.

'mainmenu'=>'laboratoire',

Devient

'mainmenu'=>'',

Excellente journée

1 « J'aime »

oui c’est bien ça!!! merci

Bonjour @tom67000
J’ai essayé de m’inspirer de ton code et du wiki de Dolibarr mais je bloque sur une dernière étapes.
Voici ce que je voudrais afficher:
Capture menu

mais avec mon code j’ai ceci:
Capture menu 2

Je n’arrive pas à faire descendre les 2 derniers menus.

Voici mon code:
Où est mon erreur?

$this->menu[$r]=array(	'fk_menu'=>'0',			                // Put 0 if this is a top menu
							'type'=>'top',			                // This is a Top menu entry
							'titre'=>'Events',
							'mainmenu'=>'event',
							'leftmenu'=>'event',
							'url'=>'/event/index.php',
							'langs'=>'event@event',	                // 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->event->enabled' if entry must be visible if module is enabled.
							'perms'=>'1',			                // Use 'perms'=>'$user->rights->event->level1->level2' if you want your menu with a permission rules
							'target'=>'',
							'user'=>0);				                // 0=Menu for internal users, 1=external users, 2=both
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=0',
							'type'=>'left',
							'titre'=>'Events',
							'mainmenu'=>'event',
							'url'=>'/event/index.php',
							'langs'=>'event@event',
							'position'=>101,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>2);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'NewEvent',
							'mainmenu'=>'event',
							'url'=>'/event/card.php?action=create',
							'langs'=>'event@event',
							'position'=>102,
							'enabled'=>1,
							//'perms'=>'$user->rights->event->registration->write',
							'target'=>'',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'MenuListEvent',
							'mainmenu'=>'event',
							'url'=>'/event/index.php',
							'langs'=>'event@event',
							'position'=>103,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'MenuListEventDays',
							'mainmenu'=>'event',
							'url'=>'/event/day/list.php',
							'langs'=>'event@event',
							'position'=>104,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>0);
	$r++;
	
	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'Calendrier',
							'mainmenu'=>'event',
							'url'=>'/event/day/list.php?format=calendar&year=2020',
							'langs'=>'event@event',
							'position'=>105,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>2);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'PagePublic',
							'mainmenu'=>'event',
							'url'=>'/event/public/index.php',
							'langs'=>'event@event',
							'position'=>106,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'_blank',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=0',
							'type'=>'left',
							'titre'=>'Configurations',
							'mainmenu'=>'Configurations',
							'leftmenu'=>'event',
							'url'=>'/event/index.php',
							'langs'=>'event@event',
							'position'=>107,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>2);
	$r++;
	
	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'Admin gestion',
							'mainmenu'=>'event',
							'url'=>'/event/admin/admin_event.php',
							'langs'=>'event@event',
							'position'=>108,
							'enabled'=>1,
							'perms'=>'$user->rights->event->setup',
							'target'=>'',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'EventSetupTextAdd',
							'mainmenu'=>'event',
							'url'=>'/event/admin/admin_manage-mail.php',
							'langs'=>'event@event',
							'position'=>109,
							'enabled'=>1,
							'perms'=>'$user->rights->event->setup_text',
							'target'=>'',
							'user'=>0);
	$r++;

Merci.

Bonjour,

dans les déclarations des 2 sous menus, tu ne devrais pas mettre ‹ configurations › dans main menu plutot que event ?

‹ mainmenu ›=>‹ Configurations ›

bonne journée, bon courage

J’ai déjà essayé mais cela ne change rien.
Je pense que je doit utiliser fk_mainmenu=xxx,fk_leftmenu=yyy mais je ne sais pas trop comment le mettre en place.

J’ai réussi, voici mon code:

$this->menu[$r]=array(	'fk_menu'=>0,			                // Put 0 if this is a top menu
							'type'=>'top',			                // This is a Top menu entry
							'titre'=>'Events',
							'mainmenu'=>'event',
							'leftmenu'=>'config',
							'url'=>'/event/index.php',
							'langs'=>'event@event',	                // 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'=>0);				                // 0=Menu for internal users, 1=external users, 2=both
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=0',
							'type'=>'left',
							'titre'=>'Events',
							'mainmenu'=>'event',
							'url'=>'/event/index.php',
							'langs'=>'event@event',
							'position'=>1100+$r,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>2);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'NewEvent',
							'mainmenu'=>'event',
							'url'=>'/event/card.php?action=create',
							'langs'=>'event@event',
							'position'=>1100+$r,
							'enabled'=>1,
							//'perms'=>'$user->rights->event->registration->write',
							'target'=>'',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'MenuListEvent',
							'mainmenu'=>'event',
							'url'=>'/event/index.php',
							'langs'=>'event@event',
							'position'=>1100+$r,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'MenuListEventDays',
							'mainmenu'=>'event',
							'url'=>'/event/day/list.php',
							'langs'=>'event@event',
							'position'=>1100+$r,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>0);
	$r++;

    $this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'Calendrier',
							'mainmenu'=>'event',
							'url'=>'/event/day/list.php?format=calendar&year=2020',
							'langs'=>'event@event',
							'position'=>1100+$r,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'',
							'user'=>2);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=1',
							'type'=>'left',
							'titre'=>'PagePublic',
							'mainmenu'=>'event',
							'url'=>'/event/public/index.php',
							'langs'=>'event@event',
							'position'=>1100+$r,
							'enabled'=>1,
							'perms'=>'$user->rights->event->read',
							'target'=>'_blank',
							'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=0',
				    		'type'=>'left',
				    		'titre'=>'Configurations',
				    		'mainmenu'=>'event',
				    		'url'=>'',
				    		'langs'=>'event@event',
				    		'position'=>1100+$r,
				    		'enabled'=>1,
				    		'perms'=>'$user->rights->event->read',
				    		'target'=>'',
				    		'user'=>2);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=7',
				    		'type'=>'left',
				    		'titre'=>'Admin gestion',
				    		'mainmenu'=>'event',
				    		'url'=>'/event/admin/admin_event.php',
				    		'langs'=>'event@event',
				    		'position'=>1100+$r,
				    		'enabled'=>1,
				    		'perms'=>'$user->rights->event->setup',
				    		'target'=>'',
				    		'user'=>0);
	$r++;

	$this->menu[$r]=array(	'fk_menu'=>'r=7',
				    		'type'=>'left',
				    		'titre'=>'EventSetupTextAdd',
				    		'mainmenu'=>'event',
				    		'url'=>'/event/admin/admin_manage-mail.php',
				    		'langs'=>'event@event',
				    		'position'=>1100+$r,
				    		'enabled'=>1,
				    		'perms'=>'$user->rights->event->setup_text',
					    	'target'=>'',
					    	'user'=>0);
	$r++;

Je n’ai pas réussi à utiliser 'fk_mainmenu=xxx' ou 'fk_mainmenu=xxx,fk_leftmenu=yyy' comme indiqué dans le wiki, je n’ai pas compris.
Cette méthode fonctionne, je ne sais pas si c’est conforme au standard de Dolibarr.

Dernière chose, quel est la paramètre à modifier afin que mon menu « Configurations » s’ouvre lorsque je clic dessus? Comme dans le module Comptabilité.

Merci.