您当前的位置:首页 > 帝国CMS教程

帝国CMS整合Discuz通行证接口教程

来源:帝国CMS教程发布者:帝国CMS模板网时间:2010-02-08

帝国CMS整合Discuz有两种方式:
方式一、用Ucenter接口整合。使用Ucenter接口整合无需安装通行证跟万能会员接口。
方式二、用Discuz通行证接口整合。需先安装万能会员接口,然后再安装通行证。

Ucenter接口及Discuz通行证下载地址:http://www.phome.net/OpenSource/

先前给大家讲解了Ucenter接口整合教程(点击查看),今天我为大家讲解用Discuz通行证接口整合的步骤:
第 1 步:安装帝国CMS万能会员接口
(1)、将万能会员接口包里的“update”目录上传至帝国CMS的“e”目录里(包含update目录本身)。

复制到帝国CMS的“e”目录里:
 
(2)、执行/e/update/index.php文件,进入接口设置界面设置参数:
接口范例:选择Discuz论坛
操作动作:选择安装接口
用户表:Discuz数据库.表前缀members,如“database.cdb_members”
会员注册地址:填Discuz的注册地址,如:http://localhost/discuz/register.php
会员登陆地址:填Discuz的登陆地址,如:http://localhost/discuz/logging.php?action=login
会员退出地址:填Discuz的退出地址,如:http://localhost/discuz/logging.php?action=logout

设置后点提交将会提示整合万能会员接口完毕。
 

(3)、删除e/update目录里的文件。防止被恶意设置。
 
第 2 步:上传通行证接口包里的文件至Discuz论坛目录
将通行证接口包里的“logging.php”、“LoginDiscuz.php”、“register.php”三个文件上传到Discuz目录:
 
复制到Discuz论坛目录里:
第 3 步:修改通行证配置文件:LoginDiscuz.php
修改Discuz论坛目录下的LoginDiscuz.php文件配置:

 

帝国CMS安装目录参数:(相对于Discuz安装目录,后面需加/)
$EcmsInstallPath:设置帝国CMS安装目录。
举例:

例1:
帝国CMS安装目录:D:/web/ecms
Discuz安装目录:D:/web/discuz
因为帝国CMS安装在discuz的上一级目录的ecms目录里。所以$EcmsInstallPath="../ecms/";

例2:
帝国CMS安装目录:D:/web/
Discuz安装目录:D:/web/discuz
因为帝国CMS安装在discuz的上一级目录里。所以$EcmsInstallPath="../";

例3:
帝国CMS安装目录:D:/web/discuz/ecms
Discuz安装目录:D:/web/discuz
因为帝国CMS安装在discuz的子目录ecms目录里。所以$EcmsInstallPath="ecms/";

COOKIE设置参数(Discuz跟帝国CMS不在一个域名下需要修改,否则不用修改设置)
$EcmsCookieDomain:cookie作用域
$EcmsCookiePath:cookie作用路径
举例:

如果:
帝国CMS安装域名为:http://www.xxx.com
Discuz论坛域名为:http://bbs.xxx.com
因为域名不同,那么就需要修改COOKIE设置,需要按下面设置:
$EcmsCookieDomain=".xxx.com";
$EcmsCookiePath="/";

注册会员时帐号COOKIE保存时间参数(不需要修改,默认即可)
$EcmsRegLogintime

 

第 4 步:至此,Discuz通行证接口整合完毕

第 5 步:修改帝国CMS的登陆表单为Discuz的登陆表单
登陆帝国CMS后台 > "模板管理" > "公共模板" > "修改JS调用登陆模板":将模板修改为如下:

<form name="login" method="post" action="discuz论坛地址/logging.php?action=login&amp;loginsubmit=yes">
<input type="hidden" name="referer" value="登陆返回地址">
<input type="hidden" name="action" value="login" />
<input type="hidden" name="loginfield" value="username">
用户名:<input name="username" type="text" class="inputText" size="16" />&nbsp;
密码:<input name="password" type="password" class="inputText" size="16" />&nbsp;
<input type="submit" name="loginsubmit" value="登陆" class="inputSub">&nbsp;
<input type="button" name="Submit2" value="注册" class="inputSub" onclick="window.open('[!--news.url--]e/member/register');" />
</form>
[!--empirenews.template--]
&raquo;&nbsp;<font color=red><b>[!--username--]</b></font>&nbsp;&nbsp;<a href="[!--news.url--]e/member/my" target="_parent">[!--groupname--]</a>&nbsp;[!--havemsg--]&nbsp;<a href="[!--news.url--]e/space/?userid=[!--userid--]" target=_blank>我的空间</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/msg" target=_blank>短信息</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/fava" target=_blank>收藏夹</a>&nbsp;&nbsp;<a href="[!--news.url--]e/member/cp" target="_parent">控制面板</a>&nbsp;&nbsp;<a href="[!--news.url--]e/enews?enews=exit&ecmsfrom=9" onclick="return confirm('确认要退出?');">退出</a>

说明:
discuz论坛地址:设置为你的Discuz论坛访问地址,如:"http://www.xxx.com/bbs/"。
登陆返回地址:必须是.php扩展名文件,如果不是.php扩展名可以在后面加?.php,如:"http://www.xxx.com/index.html?.php"


其他说明
(1)、通行证整合后“帝国CMS的登录与退出”要全转向“Discuz的登录与退出”页面,不再使用原帝国CMS的登录与退出地址。
(2)、如果在A机器登录Discuz后,并保存COOKIE,然后到B机器重新登录,系统只认B机器的数据,也就是说,系统登录只认最后一次登录的机器。
(3)、帝国CMS后台管理会员没有显示会员组说明此会员未登录帝国系统或论坛,登录的会员自动转为帝国默认会员组。
(4)、如果要整合Discuz积分可以设置万能会员接口将点数字段改为Discuz的积分字段名即可。