Add a link in management menu for specific role I can't find the way to display a link in the management menu for specific roles. The link shows up only for administrator, despite all the access callbacks I tried. 

In the view displayed by the page callback I declared same path, menu  and access callbacks. As I don't know who is called last between module code and the view (?), I also tried with no menu nor access settings in the view.

If you could have a look at my implementation to check where I'm wrong ? Thanks a lot

function vts_dashboard_menu() {

  $items['admin/backoffice/production'] = array(
    'title' =&gt; 'Production',
    'description' =&gt; 'Edit catalogue',
    'page callback' =&gt; 'vts_dashboard_backoff_circuits',
    'access callback' =&gt; 'vts_dashboard_user_has_role',   
    'access arguments' =&gt;  array('éditeur voyages', 'éditeur taxonomie', 'administrator'),
    'type' =&gt; MENU_NORMAL_ITEM,
    'menu_name' =&gt; 'management',

    //2 alternative tests below. EVEN WITH TRUE, doesn't show up for non admin
    //'access callback' =&gt; TRUE,
    //OR ...
    //'access callback' =&gt; 'node_access',
    //'access arguments' =&gt; array('view', 1),
  );

  $items['admin/backoffice/production/circuits'] = array(
    'title' =&gt; 'Circuits',
    'type' =&gt; MENU_DEFAULT_LOCAL_TASK,
    'weight' =&gt; -10,
    'access callback' =&gt; 'vts_dashboard_user_has_role',   
    'access arguments' =&gt;  array('éditeur voyages', 'administrator'),
  );
  // ... more items...
);
//page callback function
function vts_dashboard_backoff_circuits(){
  $viewname = 'circuits_vts'; 
  $viewdisplay = 'backoffice_products_list';
  return views_embed_view($viewname, $viewdisplay);
}
//access callback function
function vts_dashboard_user_has_role() { 
  global $user;
  $roles = func_get_args();
  foreach ($roles as $role) {
    if (in_array($role, $user-&gt;roles)) {
      return TRUE;
    }
  }
  return FALSE; 
}


Precision : these roles can see the pages/tabs called if they access directly to the path.
Shame on me ! The solution relied of course in a single line of my code, shared below in case it could help somebody. 

I aimed to block many admin pages access, from which the admin path, in  a radical manner :

function vts_dashboard_menu_alter(&amp;$items) {
   $items['admin']['access callback'] = 'vts_dashboard_admin_access_only';
  //more items ...  
}
function vts_dashboard_admin_access_only() {
  global $user;
  if( !in_array('administrator', $user-&gt;roles)){
    return false;
  }
  return true;
}


But $items['admin']['access callback'] blocks also descendant menus items... commented out and all's fine again !

Be what it is, if any enlightened Drupal guru can tell me how to restrict access to foo path but no foo/bar, he'll receive all my consideration !