J'ai une variable de configuration qui un type d'élément de menu où admin peut sélectionner un élément de menu. Ceci est utilisé pour rediriger l'utilisateur final s'il n'a pas accès à la vue.
Dans le fichier de contrôleur de composant, je fais la validation d'accès et je souhaite maintenant rediriger vers l'élément de menu.
Comment puis-je effectuer la redirection vers un élément de menu particulier avec le bon Itemid?
Si vous êtes dans le contrôleur et avez Itemid à partir de la configuration du composant, vous pouvez essayer cette redirection simple:
$this->redirect(JRoute::_('index.php?Itemid=' .JComponentHelper::getParams('com_yourcomponent')->get('login_itemid')))
si vous avez vous-même, il sera utilisé, sinon il utilisera un link
url à partir d'un élément de menu.
Je le fais de cette façon (pourvu que vous connaissiez le Itemid)
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getItem($Itemid);
$params = $item->params;
$return_menu_id = $params->get('return_menu_id ');
$return_item = $menu->getItem($return_menu_id);
$return_menu = JRoute::_($return_item->link.'&Itemid='.$return_item->id);
$app->redirect($return_menu);
J'espère que ce travail pour vous aussi