一、登錄模塊:
<form action="<?php echo JRoute::_('index.php?option=com_users&task=user.login'); ?>" method="post" class="form-validate
form-horizontal well">
<div>用戶名:<input name="username" type="text" /></div>
<div>密碼:<input name="password" type="password" /></div>
<div>密碼:<input type="submit" value="提交"/></div>
<?php echo JHtml::_('form.token'); ?>
</form>
二、註銷模塊:
<form action="<?= JRoute::_('index.php?option=com_users'); ?>" method="post" id="login-form" class="form-vertical">
<div class="login-greeting"> 登錄用戶的角色</div>
<div class="logout-button">
<input type="submit" name="Submit" class="btn btn-primary" value="退出">
<input type="hidden" name="option" value="com_users">
<input type="hidden" name="task" value="user.logout">
<input type="hidden" name="return" value="<?= base64_encode(註銷後返回的鏈接地址[注:此處需要base64轉碼]); ?>">
<?php echo JHtml::_('form.token'); ?>
</form>
三、註冊模塊:
<form id="member-profile" action="<?php echo JRoute::_('index.php?option=com_users&task=profile.save'); ?>" method="post"
class="form-validate form-horizontal well" enctype="multipart/form-data">
<fieldset>
<legend>編輯您的用戶資料</legend>
<input type="hidden" name="jform[id]" id="jform_id" value="">
<div class="control-group">
<div class="control-label">
<label id="jform_name-lbl" for="jform_name" class="hasTooltip required">姓名:</label> </div>
<div class="controls">
<input type="text" name="jform[name]" id="jform_name">
</div>
</div>
<div class="control-group">
<div class="control-label">
<label id="jform_username-lbl" for="jform_username" class="hasTooltip">用戶名:</label>
</div>
<div class="controls">
<input type="text" name="jform[username]" id="jform_username">
</div>
</div>
<div class="control-group">
<div class="control-label">
<label id="jform_password1-lbl" for="jform_password1" class="hasTooltip">密碼:</label>
</div>
<div class="controls">
<input type="password" name="jform[password1]" id="jform_password1">
</div>
</div>
<div class="control-group">
<div class="control-label">
<label id="jform_password2-lbl" for="jform_password2" class="hasTooltip">驗證密碼:</label>
</div>
<div class="controls">
<input type="password" name="jform[password2]" id="jform_password2">
</div>
</div>
<div class="control-group">
<div class="control-label">
<label id="jform_email1-lbl" for="jform_email1" class="hasTooltip required">E郵箱地址:</label>
</div>
<div class="controls">
<input type="email" name="jform[email1]" class="validate-email required" id="jform_email1">
</div>
</div>
<div class="control-group">
<div class="control-label">
<label id="jform_email2-lbl" for="jform_email2" class="hasTooltip required">重填郵箱地址:</label>
</div>
<div class="controls">
<input type="email" name="jform[email2]" class="validate-email required" id="jform_email2">
</div>
</div>
</fieldset>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary validate"><span>提交</span></button>
<input type="hidden" name="option" value="com_users" />
<input type="hidden" name="task" value="profile.save" />
</div>
</div>
<?php echo JHtml::_('form.token'); ?>
</form>
注:
1、components\com_users\controllers\profile.php中的‘save函數’需要修改:
// Unset the username if it should not be overwritten
$username = $data['username'];
$isUsernameCompliant = $this->getState('user.username.compliant');
//在刪除username時,需要增加判斷此操作是否爲添加
if ($userId && !JComponentHelper::getParams('com_users')->get('change_login_name') && $isUsernameCompliant)
{
unset($data['username']);
}
2、前臺註冊的用戶需要後臺爲其添加默認用戶組:編寫‘addUserOfGroup($user_id)’函數(該函數在前端註冊新用戶時執行)
public function addUserOfGroup($user_id,$group_id = null){
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->insert('#__user_usergroup_map')
->columns(array('user_id','group_id'));
$values = array();
$values[] = $user_id;
$values[] = empty($group_id) ? 2 : $group_id;
$query->values(implode(',',$values));
try {
$db->setQuery($query);
$db->execute();
return true;
} catch(EXception $e){
return false;
}
}
四、更新模塊:
更新與註冊類似。