在ECSHOP(一种开源电子商务系统)中,后台手动添加推荐人的功能对于管理员或高级用户来说是一个实用的功能,特别是在用户管理模块中。这个过程涉及到修改模板文件和数据库操作,以便于跟踪用户的推荐关系。
首先,我们需要定位到用户信息页面的HTML模板文件`jishu/templates/user_info.htm`。在这个文件中,如果用户已经有一个推荐人,那么会在显示用户信息的表格下方,新增一行用于输入推荐人信息。具体添加的代码如下:
```html
<tr>
<td class="label">添加推荐人:</td>
<td><input type="text" id="addRecommend" value="" placeholder="推荐人用户名" name="recommend"></td>
</tr>
```
这部分代码会插入一个新的表单元素,允许管理员输入推荐人的用户名。当用户提交表单时,这个信息会被收集并进行处理。
然后,我们转向PHP代码部分,位于`jishu/users.php`文件中的用户操作逻辑。在验证和处理用户信用积分的代码行后,需要增加一个判断条件来检查推荐人字段是否已被填写:
```php
$recommend = empty($_POST['recommend']) ? '' : trim($_POST['recommend']);
```
这段代码确保推荐人字段不是空的,并且去除前后多余的空格,将输入的推荐人用户名赋值给变量 `$recommend`。
接下来,我们执行查询操作,找出推荐人对应的用户ID,如果找到,就更新当前用户的`parent_id`字段,表示推荐关系:
```php
$sql = 'SELECT user_id FROM ' . $ecs->table('users') . ' WHERE user_name = "' . $recommend . '"';
$query = mysql_query($sql);
$userId = mysql_result($query, 0);
$sql = "UPDATE " . $ecs->table('users') . " SET parent_id = " . $userId . " WHERE user_name = '" . $username."'";
$db->query($sql);
```
这部分代码通过SQL查询找到推荐人的用户ID,然后更新`users`表中指定用户名的用户的`parent_id`字段,从而建立了推荐关系。
最后,`/* 添加推荐人 */`这部分是代码注释,用来指示这部分是关于添加推荐人功能的。管理员完成这些步骤后,新的推荐人信息将被存储在数据库中,并与相应的用户关联起来。
这个过程涉及到了前端模板的编辑以添加表单输入框,以及后端PHP代码的更新以处理推荐人信息的录入和数据库操作,以实现ECSHOP系统的推荐人功能。管理员需要根据实际情况调整代码,并注意处理可能存在的错误或异常,以确保推荐人信息的准确性和安全性。