Вы не указываете, поэтому я предполагаю, что Joomla 2.5.x.
В поле зрения, похоже, стандарт место ... например. com_content
проверяет в его article/view.html.php
файл со следующим:
// Check the view access to the article (the model has already computed the values).
if ($item->params->get('access-view') != true && (($item->params->get('show_noauth') != true && $user->get('guest')))) {
JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR'));
return;
}
Как вы можете видеть, com_content
не перенаправляет пользователя, он просто поднимает предупреждение блокировки сообщения.
com_users
можно вызвать с помощью параметра redirect
, который содержит URL-адрес, который вы хотите отправить пользователю после входа в систему. Параметр должен быть base64
закодирован и экранирован с urlendcode
. Вы можете прочитать о механизме redirect after login на docs.joomla.org.
Для достижения редиректа на вход, а затем вернуться к первоначальному запросу после успешной регистрации вы можете использовать что-то похожее на это в вашем else
блоке:
// Redirect to login
$uri = JFactory::getURI();
$return = $uri->toString();
$url = 'index.php?option=com_users&view=login&return=' . urlencode(base64_encode($return));
$jAp->redirect($url, JText::_('Message_about_this_view_requiring_login'));