ecshop注册时增加推荐人选填框:元素模板这边也可以开发其他的功能,需要的可以找右侧客服
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);