您尚未登录 - 登录 - 注册
Time: 2008-09-05 10:16

只看楼主 楼主

网站调用BBSMAX论坛内容的办法〔申请加精〕

效果可参看我的网站http://www.westerwind.cn右边一大半都是论坛内容。

网站用的是动易系统,我自己写程序调用论坛的存储过程,并且自己写了个系统标签放到动易的程序里,标签还带参数,可以设置调用哪个板块的贴子,调取多少条。做成标签就是为了随处可放。

另外在BBSMAX技术的帮助下,找到了跟主站做通行证的办法,目前加紧制作中,已经快要完成了。

具体程序等我整理出来在这里发布。先在这里叫一声看有没有人需要,大家共同研究。

下面是我加在我的动易CMS网站里的ASP函数,你也可以放在别的地方用,但这是针对我自己论坛做的,个别地方用的话自己要修改。



'=====================李青加的函数,调取论坛标题的函数=============
'函数名:GetBbsTitle
'作用:  调取BBSMAX论坛贴子
'参数: ForumDir  ---  要调取贴子的版块的目录 (之所以用目录而不是版块的ID,是为了调用方便,不用再查ID了)
'  Statu  ---  1正常,2置顶,3总置顶,4待审核,5回收站
'  Num   ---  调取的数目
'  Length  ---  标题字符数 (这个参数是保留参数,暂时没用上)
'Statu -- 1正常,2置顶,3总置顶,4待审核,5回收站
Function GetBbsTitle(ForumDir,Statu,Num,Length)
Dim BBS_ConnStr,BBS_Conn,BBS_Temp,v,BBS_Str
BBS_ConnStr = "Provider = Sqloledb; User ID =XXX; Password =XXX; Initial Catalog =XXX; Data Source =(local);"     '这是连接论坛数据库代码,自己要修改
Set BBS_Conn = Server.CreateObject("ADODB.Connection")
BBS_Conn.open BBS_ConnStr
BBS_Temp = BBS_Conn.Execute("bbsMax_GetThreadsByStatus '"&ForumDirToId(ForumDir)&"','"&Statu&"',0,"&Num&",''").GetRows()
If IsArray(BBS_Temp) Then
BBS_Str = ""
For v = 0 To Ubound(BBS_Temp,2)
 BBS_Str = BBS_Str & "<li><a target=_blank href=""http://bbs.westerwind.cn/"&ForumDir&"/thread-"&BBS_Temp(0,v)&"-1-1.html"">" & BBS_Temp(5,v) & "</a></li>"
Next
Erase BBS_Temp
End If
Set BBS_Conn = Nothing
GetBbsTitle = BBS_Str
End Function

'函数名:ForumDirToId(ForumDir)
'作用:  把论坛版块目录转换成ID
'说明:  这是针对我自己论坛做的,使用了一些技巧,不具备通用性,你可以自己处理。
Function ForumDirToId(ForumDir)
Dim ForumArray,v
ForumArray = Split("qgsj,sgmw,qsaq,office,swcl,qgqs,zlyy,hyjt,sgmv,xlgb",",")
For v = 0 To Ubound(ForumArray)
If ForumArray(v) = Lcase(ForumDir) Then
 ForumDirToId = v+1
End If
Next
Erase ForumArray
End Function
'===============================================================



下面这个是处理标签的函数,把模板里的标签替换成调取的结果

标签格式为:{$WW_ShowBbsTitle(论坛版块目录名,贴子类型,调取数量,标题字符串长度)}  

'=========================李青加的替换论坛调用内容的标签============
  '替换论坛标签
Dim StrBbsTitle
  regEx.Pattern = "\{\$WW_ShowBbsTitle\((.*?)\)\}"
  Set Matches = regEx.Execute(strHtml)
For Each Match In Matches
arrTemp = Split(Match.SubMatches(0), ",")
If UBound(arrTemp) <> 3 Then
 StrBbsTitle = "函数式标签:{$WW_ShowBbsTitle(参数列表)}的参数个数不对。请检查模板中的此标签。"
Else
 StrBbsTitle = GetBbsTitle(arrTemp(0),arrTemp(1),arrTemp(2),arrTemp(3))
End If
strHtml = Replace(strHtml, Match.Value, StrBbsTitle)
Next
'========================================================
[本帖最后由 lvbqing 于 2008-09-05 12:03 编辑]
评分记录
煮酒论帖 威望: +3 论坛币: +3  操作理由: 好帖,结束帖!! 2008-09-09 18:18

IP:123.*.*.*     TOP

Time: 2008-09-05 10:18

只看该用户 沙发

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

不错!加油~~
煮酒论帖的签名
古有曹雄青梅煮酒论英雄,今有小弟BBSMAX论坛煮酒交坛友。
http://www.175it.cn
http://bbs.175it.cn
http://www.175web.cn

IP:218.*.*.*     TOP

Time: 2008-09-05 10:51

只看该用户 板凳

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

这样的帖子 支持一下
googleah的签名

IP:125.*.*.*     TOP

Time: 2008-09-05 10:51

只看该用户 地板

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

bbsmax技术的签名
nginx

IP:125.*.*.*     TOP

Time: 2008-09-05 10:55

只看该用户 #4

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

唉怎么没有提示点呢?
yuesha的签名
MAX测试YueSha.com

IP:59.*.*.*     TOP

Time: 2008-09-05 11:01

只看该用户 #5

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

加油
meetsz的签名
链接交换,免费源码,LOGO免费设计,主机交流,网站设计课堂,赚钱联盟
BBSMAX专用.net空间,bbsmax免费安装支持,第三方技术团队QQ群,欢迎进入...

IP:116.*.*.*     TOP

Time: 2008-09-05 11:05

只看该用户 #6

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

我相信看过我论坛的都知道怎么改标题里的版权了

IP:123.*.*.*     TOP

Time: 2008-09-05 11:27

只看该用户 #7

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

引用:
以下是会员lvbqing2008-9-5 11:05:34发表的内容
我相信看过我论坛的都知道怎么改标题里的版权了
你改DLL了吧
yuesha的签名
MAX测试YueSha.com

IP:59.*.*.*     TOP

Time: 2008-09-05 22:55

只看该用户 #8

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

支持技术贴~
Intelamdy的签名

IP:221.*.*.*     TOP

Time: 2008-09-08 10:27

只看该用户 #9

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

支持好帖。
yuesha的签名
MAX测试YueSha.com

IP:59.*.*.*     TOP

Time: 2008-09-08 10:28

只看该用户 #10

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

顶帖的比较简单。
[本帖最后由 yuesha 于 2008-09-09 21:31 编辑]
yuesha的签名
MAX测试YueSha.com

IP:59.*.*.*     TOP

Time: 2008-09-09 14:41

只看该用户 #11

Re:网站调用BBSMAX论坛内容的办法〔申请加精〕

楼主 加油 ~
一天的签名

IP:121.*.*.*     TOP