动网7.0sp2 公告多条循环渐变显示修改
第一步:在page_index模板里添加两条模版界面:
template.html(0):
<br><table cellspacing=1 cellpadding=3 align=center border=0 width={$width}><tr><td align=center width=100% valign=middle colspan=2>
<a href="javascript:openScript('announcements.asp?action=showone&boardid=0',500,400 target=_blank)"><B>{$news}</B></a>({$newstime})
</td></tr></table>
改为:
<br><table cellspacing=1 cellpadding=3 align=center border=0 width={$width}><tr><td align=center width=100% valign=middle colspan=2>
{$newslist}</td></tr></table>
template.html(15):
"<a href=javascript:openScript('announcements.asp?action=showone&boardid=0',500,400 target=_blank)><B><font color=white>{$news}</font></B></a>({$newstime})","",
template.html(16):
<SCRIPT LANGUAGE='JavaScript' SRC='inc/fader.js' TYPE='text/javascript'></script>
<SCRIPT LANGUAGE='JavaScript' TYPE='text/javascript'>
prefix="";
arNews = [{$newsstr}"欢迎光临本论坛","",
"严禁恶意使用粗言秽语,违者经劝告无效,立即封ID。","","<font color=red>本论坛内文章版权所有,本论坛内言论为会员个人见解,并不代表本论坛的立场!</font>",""
]
</SCRIPT>
<div id="elFader" style="position:relative;visibility:hidden; height:16" ></div>
第二步:修改index.asp文件
1、先把这4行注释掉:
' newsstr=news
' If newsstr(1)="" Or Not IsDate(newsstr(1)) Then newsstr(1)=Now()
' TempStr=Replace(TempStr,"{$news}",newsstr(0))
' TempStr=Replace(TempStr,"{$newstime}",newsstr(1))
2、在 TempStr=Replace(TempStr,"{$width}",Dvbbs.mainsetting(0)) 上边添加:
TempStr=Replace(TempStr,"{$newslist}",news)
3、把原来的Fuction news()替换成以下内容:
Function news()
Dvbbs.Name="news"&Dvbbs.boardid
If Dvbbs.ObjIsEmpty() Then
Dim tmpstr,bgs
Dim Rs,SQL,i,tmpdata,tmpdata1
SQL="select top 5 title,addtime,bgs from Dv_bbsnews where boardid="&Dvbbs.boardid&" order by id desc"
Set Rs=DVbbs.Execute(sql)
If Rs.BOF And Rs. EOF Then
tmpstr=template.Strings(8)&"|||"
Else
Do While Not Rs.Eof
bgs=Rs(2)
If bgs="" or isnull(bgs) then
tmpstr=tmpstr&Rs(0)&"|||"&Rs(1)
Else
tmpstr=tmpstr&"<img src=Skins/Default/filetype/mid.gif border=0><bgsound src="&bgs&" border=0>"&Rs(0)&"|||"&Rs(1)
End if
tmpstr=tmpstr&"@@@"
Rs.MoveNext
Loop
End If
Set Rs=Nothing
Dvbbs.Value=tmpstr
End If
tmpdata=split(Dvbbs.Value,"@@@")
For i=0 to Ubound(tmpdata)-1
tmpdata(i)=split(tmpdata(i),"|||")
If tmpdata(i)(1)="" Or Not IsDate(tmpdata(i)(1)) Then tmpdata(i)(1)=Now()
tmpdata1=tmpdata1&Replace(Replace(template.html(15),"{$news}",tmpdata(i)(0)),"{$newstime}",tmpdata(i)(1))
Next
news=template.html(16)
news=Replace(news,"{$newsstr}",tmpdata1)
End Function
保存搞定!其中Select Top 5 <-就是要显示几条,建议不要太多为妙
注1:其中有个inc/fader.js文件,用于渐变显示的JS,这个在DV6.0里有,自己找。
注2:黑色字为原文件内容,红色字为增加,蓝色字为修改。
注3:关于删除后还显示的问题(即无法实时变化的问题),与本修改无关,是系统缓存的问题,原版的也一样。解决办法就不用俺说了吧?


