4

I have successfully created a custom registration page in joomla 2.5 and based on the user type i want to redirect the users to different views after log in. How can i achieve this? Do i need to create an Authentication plugin or a custom log in module?

Thanks

4

3 回答 3

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>

您只需将返回 url 放在隐藏字段中,base64_encoded当登录成功时,Joomla 将重定向到该 url。

如果您需要在身份验证后重定向,这不是核心文件编辑,这意味着您已经提供了一个登录表单,该表单应该具有隐藏字段,如 return 或只是添加它。

在另一种情况下,如果您只想知道重定向选项。

$mainframe = JFactory::getApplication();
$mainframe->redirect("your redirect url",'message' ,'message type');

希望它有帮助...

于 2013-10-07T12:45:45.917 回答
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

于 2013-10-08T09:45:12.503 回答
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);
            } 
于 2016-07-14T10:15:09.737 回答