帝国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的积分字段名即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。