我希望我的用户在成功注册 Joomla 后重定向到自定义 URL。我找不到任何选择!我怎样才能做到这一点?
问问题
5950 次
3 回答
0
在您的代码集中执行以下操作;
$app=JFactory::getapplication();
$app->redirect('index.php?option=com_users&view=login'));
于 2015-08-24T08:26:24.680 回答
0
您可以使用插件来实现这一点(至少在 Joomla 3.x 中 - 不确定这将在多远的时候立即起作用)。这里的关键是 onUserAfterSave 事件,它告诉您用户是新用户还是现有用户。
我前段时间写了下面的代码,所以不记得重定向无法从 onUserAfterSave 事件处理程序中完成的确切原因,但我认为重定向随后会在核心 Joomla 用户管理代码的其他地方被覆盖,如果你尝试从那里开始,因此在会话中保存一个标志并在以后的事件处理程序中检查它。
class PlgUserSignupRedirect extends JPlugin
{
public function onUserAfterSave($user, $isnew, $success, $msg)
{
$app = JFactory::getApplication();
// If the user isn't new we don't act
if (!$isnew) {
return false;
}
$session = JFactory::getSession();
$session->set('signupRedirect', 1);
return true;
}
function onAfterRender() {
$session = JFactory::getSession();
if ($session->get('signupRedirect')) {
JFactory::getApplication()->redirect('/my-post-signup-url');
$session->clear('signupRedirect');
}
}
}
于 2017-08-18T23:21:00.857 回答