Поскольку вы хотите использовать пользовательское кодирование, чтобы ограничить компоненты только для менеджера.поэтому откройте файл administrator / modules / mod_menu / helper.php
В строке № 167. для компонентов есть foreach.
$login_user = JFactory::getUser(); // <--------------object for login user------------------------->
foreach ($comps as $row)
{
if ($editAllComponents | $user->authorize('administration', 'edit', 'components', $row->option))
{
if ($row->parent == 0 && (trim($row->admin_menu_link) || array_key_exists($row->id, $subs)))
{
if($login_user->gid == '23') // <--------------check for manager------------------------->
{
$text = $lang->hasKey($row->option) ? JText::_($row->option) : $row->name;
if($text == 'Banner' or $text == 'Polls' ) // <--------------write component name which is visibal to manager only------------------------->
{
$link = $row->admin_menu_link ? "index.php?$row->admin_menu_link" : "index.php?option=$row->option";
if (array_key_exists($row->id, $subs)) {
$menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img), true);
foreach ($subs[$row->id] as $sub) {
$key = $row->option.'.'.$sub->name;
$text = $lang->hasKey($key) ? JText::_($key) : $sub->name;
$link = $sub->admin_menu_link ? "index.php?$sub->admin_menu_link" : null;
$menu->addChild(new JMenuNode($text, $link, $sub->admin_menu_img));
}
$menu->getParent();
} else {
$menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img));
}
}
}else // <--------------else for other group------------------------->
{
// no change in it
$text = $lang->hasKey($row->option) ? JText::_($row->option) : $row->name;
$link = $row->admin_menu_link ? "index.php?$row->admin_menu_link" : "index.php?option=$row->option";
if (array_key_exists($row->id, $subs)) {
$menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img), true);
foreach ($subs[$row->id] as $sub) {
$key = $row->option.'.'.$sub->name;
$text = $lang->hasKey($key) ? JText::_($key) : $sub->name;
$link = $sub->admin_menu_link ? "index.php?$sub->admin_menu_link" : null;
$menu->addChild(new JMenuNode($text, $link, $sub->admin_menu_img));
}
$menu->getParent();
} else {
$menu->addChild(new JMenuNode($text, $link, $row->admin_menu_img));
}
}
}
}
}