我已经在joomla 2.5中成功创建了一个自定义注册页面,并且基于用户类型,我希望在登录后将用户重定向到不同的视图。我怎样才能实现这一目标?我是否需要创建身份验证插件或自定义登录模块?
由于
答案 0 :(得分:1)
试试这个,
Joomla有一个用于登录的模块,你可以使用它或只是检查 com_users / view /
从您可以使用的任何页面成功登录joomla后重定向
<input type="hidden" name="return" value="<?php echo base64_encode("your return url"); ?>" />
此隐藏字段应在您的登录模块中找到,如下所示。
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post">
<fieldset>
<?php foreach ($this->form->getFieldset('credentials') as $field): ?>
<?php if (!$field->hidden): ?>
<div class="login-fields"><?php echo $field->label; ?>
<?php echo $field->input; ?></div>
<?php endif; ?>
<?php endforeach; ?>
<button type="submit" class="button"><?php echo JText::_('JLOGIN'); ?></button>
<input type="hidden" name="return" value="<?php echo base64_encode($this->params->get('login_redirect_url',$this->form->getValue('return'))); ?>" />
<?php echo JHtml::_('form.token'); ?>
</fieldset>
</form>
您只需将返回的网址放在隐藏字段中base64_encoded
当登录成功时,Joomla会重定向到此网址。
如果您需要在身份验证后重定向,这不是核心文件编辑,这意味着您已经提供了一个应该具有隐藏字段的登录表单,例如return或只是添加它。
在另一种情况下,如果您只想知道重定向选项。
$mainframe = JFactory::getApplication();
$mainframe->redirect("your redirect url",'message' ,'message type');
希望它的帮助...
答案 1 :(得分:1)
非商业性“登录重定向”扩展程序如何:http://extensions.joomla.org/extensions/access-a-security/site-access/login-redirect/15257根据访问级别/用户组或JED中登录重定向类别中的类似扩展名重定向用户登录:http://extensions.joomla.org/extensions/access-a-security/site-access/login-redirect
答案 2 :(得分:0)
3.x
在Joomla plugins\authentication\cookie\cookie.php
在功能onUserAfterLogin($options)
的顶部,
$user = JFactory::getUser();
$groups = $user->get('groups');
if(in_array(10, $groups))
{
$url = JRoute::_('index.php?option=com_students');
$this->app->redirect($url);
}