功能详解
[i=s] 本帖最后由 qiyongdong 于 2009-4-14 12:57 编辑 [/i][size=4][b] 根据论坛里频繁问题我来分析一下[/b][/size]
[size=4][/size]
[size=4][b] 第一:注册页面增加其他注册项[/b][/size]
[b][size=4][/size][/b]
[b][size=4] a、首先打开ecs_user 建我们需要注册项的字段 比如 公司名字 company_name 记得varchar 值要大一点。[/size][/b]
[b][size=4][/size][/b]
[b][size=4] b、打开user_passport.dwt 在原有注册项上面添加 比如[code] <tr>
<td align="right">公司名称</td>
<td>
<input name="other[comany_name]" type="text" size="25" class="inputBg"/>
</td>
</tr>
[/code][/size][/b]
[b][size=4] c、打开lib_passport 文件的register函数 找到 //定义other合法的变量数组
$other_key_array = array('msn', 'qq', 'office_phone', 'home_phone', 'mobile_phone'); 这一地方 在原来基础上增加company_name[/size][/b]
[b][size=4] 完成操作 去测试。
[/size][/b][b][size=4] 如果要明白过程的话 如下:[/size][/b]
[b][size=4] 打开 user.php 找到 act=='act_register' 会发现 我们的添加的值以other数组的形式post过来了 然后找到register($username, $password, $email, $other) 发现 这个数组是register的一个参数传递到这个函数里 我们跟踪函数 当然是cart+f 你会找到同样的俩个函数 我们用的是lib_passport.php里函数 分析它 :[/size][/b]
[b][size=4][/size][/b]
[b][size=4] 这个函数又来调用add_user这个函数 把重要的邮箱地址 用户名 密码已经插入数据库 如果有ucenter的话 也要插入ucenter实现同步 等插入后 返回user_id[/size][/b]
[b][size=4] 有了user_id 在去修改user表 既把other的数据update进去 sql语句是[code] $GLOBALS['db']->autoExecute($GLOBALS['ecs']->table('users'), $other, 'UPDATE', 'user_id = ' . $_SESSION['user_id']);
[/code][/size][/b]
[b][size=4] [/size][/b]
[b][size=4] 所以你在.dwt文件加了company_name就不用担心 。[/size][/b]
[b][size=4][/size][/b]
[b][size=4] [color=red]有网友问我如何对ecshop进行二次开发 以上就是我的修改一个功能的完整思路,不光是这个功能是这样 其他功能也是这样 以这种方式去分析他 这样一步一步的跟踪分析他 就会得到结果。时间久了你就熟悉整个系统的架构过程。感谢ec 。[/color][/size][/b]
[b][size=4][color=black] [/color][/size][/b]
[b][size=4][color=black] 西安php服务中心 网址:[/color][url=http://www.xaphp.com/][color=black]www.xaphp.com[/color][/url][color=black] qq:138918647 [/color][/size][/b]
[b][size=4][/size][/b]
[b][size=4] [/size][/b]
[b][size=4][/size][/b] **** 作者被禁止或删除 内容自动屏蔽 **** 不错,终于更新文章了./ 非常好的帖子. 非常好的人!!!顶你.........
希望你能继续知道我们这些刚接触EC的新人!!!
也祝你的事业越来越好!(貌似扯远了!!嘎嘎...) 二次开发引导性的帖子,不错 不错不错,很详细 最好是把整个把整个本地目录作为DW的站点,这样Ctrl+F的时候就可以指定搜索位置,比如当前页面、整个本地目录等,另外还可以通过正则表达式来搜索 非常感谢qiyongdong这么多的代码共享, 谢谢共享, 8错啊,加分。 学学:lol:lol:lol 分析挺好! 3Q楼主,致敬!{:2_32:} lz就是牛! 顶起来好的老师 不错,支持 应该也可以把company_name
看做和user_name一样的吧,company_name的值不以other数组的形式传过来,而是通过和user_name一样通过post传值!@ 收下。。。做记号。。。{:2_33:} 好人啊,顶 赞!简直就是授课!顶一个 顶顶,最近正好碰到这个问题 分析的挺好 非常感谢 顶,做个记号方便日后查看...:handshake 谢谢大家。 赞一个! 学到了 谢谢LZ 新人。 特别感谢齐老师。 很好,谢谢:) 这个也很强大,绝对用得到 貌似现在的ecshop可以增加自定义注册项了
页:
[1]
