Перенаправление пользовательского компонента Joomla после входа в SEF URL

Поэтому я создал собственный компонент, который в значительной степени служит информационной панелью для клиентов, доступ к которому возможен только при входе в систему. Чтобы проверить, вошел ли клиент в систему и требуется ли перенаправление на страницу входа, я сделал это:

<?php
  $user       = JFactory::getUser();
  $app          = JFactory::getApplication();
?>
<?php
  if($user->id != 0) {
     // My dashboard content
  } else {
   $message = "Please login!";
   $url = JRoute::_('index.php?option=com_users&view=login&return=' . base64_encode('index.php?option=com_mydashboard&view=dashboard');
   $app->redirect($url, $message);
  }
?>

Теперь это работает почти идеально. Однако, как только пользователь вошел в систему и перенаправлен, он перенаправляется на страницу "index.php? Option=com_mydashboard&view=dashboard", где модуль, назначенный для /dashboard (SEF URL), не отображается. Повторное нажатие на элемент меню панели инструментов показывает его, но для клиента это не очень логичный шаг. Как сделать перенаправление, чтобы вернуться на страницу / панель инструментов вместо URL не-SEF?

1 ответ

Итак, лучший способ справиться с этим - добавить пользовательский редирект, например, в ваш файл htaccess. Задача решена!

Другие вопросы по тегам