Moke|墨客

 找回密码
 立即注册
搜索
查看: 9065|回复: 0

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

[复制链接]

3636

主题

0

回帖

3681

积分

超级版主

Rank: 8Rank: 8

积分
3681
发表于 2016-5-9 15:33:32 | 显示全部楼层 |阅读模式



                  帝国CMS整合Discuz有两种方式,可以用Ucenter接口整合,也可以用Discuz通行证接口+万能会员接口整合。
之前介绍了用Ucenter接口整合帝国CMS和Discuz论坛,现在看如何用Discuz通行证接口整合。
第 1 步:安装帝国CMS万能会员接口
(1)、将万能会员接口包里的“update”目录上传至帝国CMS的“e”目录里(包含update目录本身)。


万能会员接口的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通行证文件覆盖到到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



默认COOKIE保存时间

第 4 步:至此,Discuz通行证接口整合完毕。
第 5 步:修改帝国CMS的登陆表单为Discuz的登陆表单。
登陆帝国CMS后台 > "模板管理" > "公共模板" > "修改JS调用登陆模板":将模板修改为如下:

<form name=&quot;login&quot; method=&quot;post&quot; action=&quot;discuz论坛地址/logging.php?action=login&amp;loginsubmit=yes&quot;>
<input type=&quot;hidden&quot; name=&quot;referer&quot; value=&quot;登陆返回地址&quot;>
<input type=&quot;hidden&quot; name=&quot;action&quot; value=&quot;login&quot; />
<input type=&quot;hidden&quot; name=&quot;loginfield&quot; value=&quot;username&quot;>
用户名:<input name=&quot;username&quot; type=&quot;text&quot; class=&quot;inputText&quot; size=&quot;16&quot; />&nbsp;
密码:<input name=&quot;password&quot; type=&quot;password&quot; class=&quot;inputText&quot; size=&quot;16&quot; />&nbsp;
<input type=&quot;submit&quot; name=&quot;loginsubmit&quot; value=&quot;登陆&quot; class=&quot;inputSub&quot;>&nbsp;
<input type=&quot;button&quot; name=&quot;Submit2&quot; value=&quot;注册&quot; class=&quot;inputSub&quot; onclick=&quot;window.open('[!--news.url--]e/member/register');&quot; />
</form>
[!--empirenews.template--]
&raquo;&nbsp;<font color=red><b>[!--username--]</b></font>&nbsp;&nbsp;<a href=&quot;[!--news.url--]e/member/my&quot; target=&quot;_parent&quot;>[!--groupname--]</a>&nbsp;[!--havemsg--]&nbsp;<a href=&quot;[!--news.url--]e/space/?userid=[!--userid--]&quot; target=_blank>我的空间</a>&nbsp;&nbsp;<a href=&quot;[!--news.url--]e/member/msg&quot; target=_blank>短信息</a>&nbsp;&nbsp;<a href=&quot;[!--news.url--]e/member/fava&quot; target=_blank>收藏夹</a>&nbsp;&nbsp;<a href=&quot;[!--news.url--]e/member/cp&quot; target=&quot;_parent&quot;>控制面板</a>&nbsp;&nbsp;<a href=&quot;[!--news.url--]e/enews?enews=exit&ecmsfrom=9&quot; onclick=&quot;return confirm('确认要退出?');&quot;>退出</a>
红色部分需要修改:
discuz论坛地址:设置为你的Discuz论坛访问地址,如:&quot;http://www.xxx.com/bbs/&quot;。
登陆返回地址:必须是.php扩展名文件,如果不是.php扩展名可以在后面加?.php,如:http://www.xxx.com/index.html?.php

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

本版积分规则

 

 

快速回复 返回顶部 返回列表