最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > CMS教程 > ECShop教程 >

深入理解ecshop2.7.3整合discuzX3.的完美方案(2)

时间:2014-12-11 02:33来源:未知 作者:最模板zuimoban 点击:
6.安装discuzX3.2 安装时不安装ucenter,只安装论坛部分.ucenter填写相应的信息. 补充:建议把discuz拷贝到的ecshop根目录下,并且使用同一个域名,不要给discuz使用其

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,还是需要手工登录并手工激活的,只是不需要注册了.
为了解决这个烦人的问题,继续用前面的user.XLS文件,再用navicat导入discuzX3.2的用户表bbs_common_member.对应字段如下,groupid和timeoffset字段已经在第5步中增加过来了:

discuzX3.2的用户表字段

ecshop的用户表字段

uid

user_id

email

email

username

user_name

password

password

groupid

groupid

regdate

reg_time

timeoffset

timeoffset

9.导入用户其他信息

到此,正常登录已经没有问题了,对于心急的人来说,本小节可以略过.

首先把用户的qq,电话,地址等信息选择出来.联合查询sql语句如下:

 

[sql] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. select u.user_id,ud.consignee,u.sex,u.msn,u.qq,u.office_phone,u.home_phone,u.mobile_phone,  
  2. ud.zipcode,ud.tel,ud.mobile,  
  3. u.email,ud.email,  
  4. concat(pro.region_name,city.region_name,dis.region_name,ud.address) as final_address  
  5. from ec_users u,ec_user_address ud,ec_region pro,ec_region city,ec_region dis  
  6.  where u.user_id=ud.user_id  
  7. and   
  8. (  
  9. ud.province=pro.region_id and  
  10. ud.city=city.region_id and  
  11. ud.district=dis.region_id  
  12. )  

用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.然后再导入,对应字段如下:

 

discuzX3.2用户配置表 ecshop用户信息
uid user_id
realname consignee
gender sex
telphone 人工判断的固定电话
mobile 人工判断的手机
address final_address
zipcode zipcode

 

10.总结

到此,对于ecshop中已经存在的用户终于可以实现在ecshop和discuz这两个应用中,任何一个应用登录,在其他地方都可以自动登录了.但还存在以下问题:

a.ecshop新注册用户,在访问discuz时仍然需要登录激活;

b.ecshop已存在用户的电话,qq号等信息还未迁移过来,在bbs_member_profile表里对应(已解决,见第9节);

c.ecshop里用户的信息和discuz里的用户信息如何在修改时同步到对方应用.

因为对于开发人员来说,肯定不希望有意识的认识到网站商城和论坛是两套不同的应用,而是希望认为他们是一体的.所以本方案称为97%的完美解决方案.有的问题需要全面考察两个应用的设计思路后,才可能给出完美的解决办法或者代码.这就等待后人给我们继续努力啦.

(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容