在ecshop注册时添加 [生日] 字段 完整方法

2016-07-07 15:11 来源:www.chinab4c.com 作者:ecshop专家



第一步:修改includes/lib_passport.php
找到:
  1. function register($username, $password, $email, $other = array())
复制代码

替换:
  1. function register($username, $password, $email, $other = array(), $birthday)
复制代码


第二步:修改根目录的 user.php

找到:
  1. include_once(ROOT_PATH . 'includes/lib_passport.php');
复制代码
下面增加:
  1. $birthday = trim($_POST['birthdayYear']) .'-'. trim($_POST['birthdayMonth']) .'-'. trim($_POST['birthdayDay']);
复制代码



找到:
  1. /* 写入密码提示问题和答案 */
  2. if (!empty($passwd_answer) && !empty($sel_question))
复制代码

上面增加:
  1. $sql = 'UPDATE ' . $ecs->table('users') . " SET `birthday`='$birthday'WHERE `user_id`='" . $_SESSION['user_id'] . "'";
  2. $db->query($sql);
复制代码


找到:
  1. if (register($username, $password, $email, $other) !== false)
复制代码

替换:
  1. if (register($username, $password, $email, $other,$birthday) !== false)
复制代码


第三步:修改模板中注册文件 themes/yourstemplatename/user_passport.dwt,如果是默认模板,则是themes/default /user_passport.dwt:
找到这段代码
  1. <tr>
  2. <td align="right">{$lang.label_confirm_password}</td>
  3. <td>
  4. <input name="confirm_password" type="password"id="conform_password" class="inputBg" style="width:179px;"/>
  5. <span style="color:#FF0000" id="conform_password_notice"> *</span>
  6. </td>
  7. </tr>
复制代码

在其之后,插入代码
  1. <tr>
  2. <td width="28%" align="right" bgcolor="#FFFFFF">{$lang.birthday}: </td>
  3. <td width="72%" align="left" bgcolor="#FFFFFF"> {html_select_date field_order=YMD prefix=birthday start_year=-60 end_year=+1 display_days=true month_format=%m
  4. day_value_format=%02d time=this.birthday} </td>
  5. </tr>
复制代码



之后就大功告成 :)