2013-10-07 30 views
3

我已經在joomla 2.5中成功創建了一個自定義註冊頁面,並且基於用戶類型,我想在登錄後將用戶重定向到不同的視圖。我該如何實現?我是否需要創建身份驗證插件或自定義登錄模塊?如何在認證後重定向用戶

感謝

+0

使用默認的Joomla登記表自定義的註冊頁面?或社區建設者?或者是其他東西? – Lodder

+0

我創建我的custome註冊表格不joomla或社區bulider –

回答

1

試試這個,

的Joomla有登錄目的的模塊,您可以使用或只檢查com_users /視圖/

從任何網頁中的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會重定向到該網址時登錄是成功的。

如果您需要在身份驗證後重定向,這不是核心文件編輯,這意味着您已經提供了應該隱藏字段的登錄表單,例如返回或僅添加它。

在另一種情況下,如果您只想知道重定向選項。

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

希望它可以幫助...

+0

我真的不想編輯joomla核心文件。沒有辦法做到這一點? –

+0

@Ololadeenifeni - 你不會編輯任何Joomla核心文件,因爲你說這是一個自定義的形式,**不是通過Joomla – Lodder

+0

完成的。我很明白你要求我做什麼。這是我註冊例如代理和用戶時創建了兩種不同的用戶類型。如果代理或用戶然後做我的重定向,我尋找用戶。 –

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); 
      } 
相關問題