我已經在joomla 2.5中成功創建了一個自定義註冊頁面,並且基於用戶類型,我想在登錄後將用戶重定向到不同的視圖。我該如何實現?我是否需要創建身份驗證插件或自定義登錄模塊?如何在認證後重定向用戶
感謝
我已經在joomla 2.5中成功創建了一個自定義註冊頁面,並且基於用戶類型,我想在登錄後將用戶重定向到不同的視圖。我該如何實現?我是否需要創建身份驗證插件或自定義登錄模塊?如何在認證後重定向用戶
感謝
怎麼樣的非商業「重定向登錄」擴展名: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
試試這個,
的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');
希望它可以幫助...
我真的不想編輯joomla核心文件。沒有辦法做到這一點? –
@Ololadeenifeni - 你不會編輯任何Joomla核心文件,因爲你說這是一個自定義的形式,**不是通過Joomla – Lodder
完成的。我很明白你要求我做什麼。這是我註冊例如代理和用戶時創建了兩種不同的用戶類型。如果代理或用戶然後做我的重定向,我尋找用戶。 –
其在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);
}
使用默認的Joomla登記表自定義的註冊頁面?或社區建設者?或者是其他東西? – Lodder
我創建我的custome註冊表格不joomla或社區bulider –