注册时增加推荐人选填框:
1,打开/languages/zh_cn/user.php
Ctrl+F,查找$_LANG['label_password'] = '密码';
在下面增加一行:$_LANG['label_rec_user'] = '推荐人';
保存修改
2,打开/themes/当前主题目录/user_passport.dwt
Ctrl+F,查找<!-- 判断是否启用验证码{if $enabled_captcha} -->
在上面粘贴以下代码(可根据你的主题样式修改): 程序代码
<tr>
<td align="right">{$lang.label_rec_user}</td>
<td>
<input name="rec_user" type="text" size="25" id="rec_user" class="inputBg" />
</td>
</tr>
保存修改
3,打开/user.php
Ctrl+F,查找$email = isset($_POST['email']) ? trim($_POST['email']) : '';
在下面增加一行:$rec_user = isset($_POST['rec_user']) ? trim($_POST['rec_user']) : '';
Ctrl+F,查找if (register($username, $password, $email, $other) !== false)
修改为:if (register($username, $password, $email, $rec_user, $other) !== false)
4,打开/includes/lib_passport.php
Ctrl+F,查找 * @param string $email 注册email
在下面增加一行: * @param string $rec_user 推荐人用户名(此步骤可以跳过,只是加个注释)
Ctrl+F,查找function register($username, $password, $email, $other = array())
修改为:function register($username, $password, $email, $rec_user, $other = array())
Ctrl+F,查找//设置推荐人
将下面的 程序代码
$sql = 'Update '. $GLOBALS['ecs']->table('users') . ' SET parent_id = ' . $up_uid . ' Where user_id = ' . $_SESSION['user_id'];
$GLOBALS['db']->query($sql);
替换为 程序代码
/*
判断从表单里得到的推荐人值是否为空,
如果是则直接把ECSHOP的推荐机制里用户ID的Session值赋值给rec_userid,
如果不是空值,则判断推荐人是否存在
*/
if (empty($rec_user))
{
$rec_userid=$up_uid;
}
else
{
/*
判断从表单里得到的推荐人是否存在,
如果存在则把推荐人的用户ID值赋值给rec_userid,
如果不存在,则将0赋值给rec_userid;也可以用原来的推荐机制把0改为$up_uid
*/
$recsql = "Select user_id FROM " . $GLOBALS['ecs']->table('users') . " Where user_name = '$rec_user'";
$recone = $GLOBALS['db']->getOne($recsql);
if ($recone)
{
$rec_userid=$recone['user_id'];
}
else
{
$rec_userid=0;
}
}
$sql = 'Update '. $GLOBALS['ecs']->table('users') . ' SET parent_id = ' . $rec_userid . ' Where user_id = ' . $_SESSION['user_id'];
$GLOBALS['db']->query($sql);
5,打开/js/user.js
Ctrl+F,查找var password = Utils.trim(frm.elements['password'].value);
在下面增加一行:var rec_user = Utils.trim(frm.elements['rec_user'].value);