6.安装discuzX3.2 安装时不安装ucenter,只安装论坛部分.ucenter填写相应的信息. 补充:建议把discuz拷贝到的ecshop根目录下,并且使用同一个域名,不要给discuz使用其他域名,不然ucenter里经常通信失败.比如,ecshop在域名www.abc.com下,discuz在bbs.abc.com里,则由于未知的原因经常通信失败.我的做法是discuz位于www.abc.com/bbs下. 7.设置ucenter和discuzX3.2 登录discuz后台,在站长->ucenter设置,对以下两个选项,都设置为"是": a.是否允许其他应用的会员在站点激活 b.是否允许直接激活 登录ucenter的后台,在"应用管理"里,对与ecshop和discuz的两个应用,对于以下两个选项,都设置为"是": a.是否开启同步登录 b.是否接受通知 8.导入discuzX3.2的用户表 此时discuz的管理员的user_id肯定在ecshop的所有用户之后.
其实这一步也可以不做.到目前为止,即使你第6步里的所有设置内容,ecshop的用户过来访问bbs,还是需要手工登录并手工激活的,只是不需要注册了.
9.导入用户其他信息 到此,正常登录已经没有问题了,对于心急的人来说,本小节可以略过. 首先把用户的qq,电话,地址等信息选择出来.联合查询sql语句如下:
用navicat导出这些字段,另存为excel文件,user_data.XLS
注意上面的SQL语句并没有执行外连接查询,如果联系人地址里有不对应的记录,则选不出来.比如城市的代码为0.导出后注意一下记录总数与ec_users表的记录总数是否一致. 我之所以导出了很多电话号码,是因为ec_users表的电话号码与收货人地址ec_user_address的联系电话不一定一致,这个就需要导出来以后人工判断一下了.提供给discuzX3.2两种电话格式即可,一种是固定电话,一种是手机. 然后导入discuzX3.2的用户个人配置表bbs_common_member_profile,注意如果表中有记录先truncate table bbs_common_member_profile.然后再导入,对应字段如下:
10.总结 到此,对于ecshop中已经存在的用户终于可以实现在ecshop和discuz这两个应用中,任何一个应用登录,在其他地方都可以自动登录了.但还存在以下问题: a.ecshop新注册用户,在访问discuz时仍然需要登录激活; b.ecshop已存在用户的电话,qq号等信息还未迁移过来,在bbs_member_profile表里对应(已解决,见第9节); c.ecshop里用户的信息和discuz里的用户信息如何在修改时同步到对方应用. 因为对于开发人员来说,肯定不希望有意识的认识到网站商城和论坛是两套不同的应用,而是希望认为他们是一体的.所以本方案称为97%的完美解决方案.有的问题需要全面考察两个应用的设计思路后,才可能给出完美的解决办法或者代码.这就等待后人给我们继续努力啦. (责任编辑:最模板) |