[upload=gif]UploadFile/2006-9/20069245232279897.gif[/upload]
适用版本:3.1SP2,3.2的应该也差不多。
前台动态显示,自动判断是否显示,首页是否重新生成都不影响显示。用了别人的一些东西,修改了一部分。
所需修改文件:
1./Inc/Function.asp
需要修改 DateFormat 函数,象2006-8-25这类单双混合的日期的字符串前台不好判断。
找到约38行
Function DateFormat(DateStr,Types)
………………
………………
End Function
替换为:
'-----------------------------------------------------------
'实现月,日,时,分小于10的时候系统自动补入0
Function DateFormat(DateStr,Types)
Dim DateString,FData,MonthFormat,DayFormat,HourFormat,MinuteFormat
if IsDate(DateStr) = False then
DateString = ""
end if
MonthFormat = Month(DateStr)
DayFormat = Day(DateStr)
HourFormat = Hour(DateStr)
MinuteFormat = Minute(DateStr)
if Month(DateStr) < 10 then
MonthFormat = "0"&Month(DateStr)
end if
if Day(DateStr) < 10 then
DayFormat = "0"&Day(DateStr)
end if
if Hour(DateStr) < 10 then
HourFormat = "0"&Hour(DateStr)
end if
if Minute(DateStr) < 10 then
MinuteFormat = "0"&Minute(DateStr)
end if
Select Case Types
Case "1"
'下面方括号部分,为实现如:[2005-07-08]的样式.要实现其他样式请自己修改
' DateString ="["& Year(DateStr)&"-"&MonthFormat&"-"&DayFormat&"]"
DateString = Year(DateStr)&"-"&MonthFormat&"-"&DayFormat
Case "2"
DateString = Year(DateStr)&"."&MonthFormat&"."&DayFormat
Case "3"
DateString = Year(DateStr)&"/"&MonthFormat&"/"&DayFormat
Case "4"
DateString = MonthFormat&"/"&DayFormat&"/"&Year(DateStr)
Case "5"
DateString = DayFormat&"/"&MonthFormat&"/"&Year(DateStr)
Case "6"
DateString = MonthFormat&"-"&DayFormat&"-"&Year(DateStr)
Case "7"
DateString = MonthFormat&"."&DayFormat&"."&Year(DateStr)
Case "8"
DateString = MonthFormat&"-"&DayFormat
Case "9"
DateString = MonthFormat&"/"&DayFormat
Case "10"
DateString = MonthFormat&"."&DayFormat
Case "11"
DateString =MonthFormat&"月"&DayFormat&"日"
Case "12"
DateString = DayFormat&"日"&HourFormat&"时"
case "13"
DateString = DayFormat&"日"&HourFormat&"点"
Case "14"
DateString = HourFormat&"时"&MinuteFormat&"分"
Case "15"
DateString = HourFormat&":"&MinuteFormat
Case "16"
DateString = Year(DateStr)&"年"&MonthFormat&"月"&DayFormat&"日"
Case Else
DateString = DateStr
End Select
DateFormat = DateString
End Function
'-----------------------------------------------------------
请整段替换。
2.修改/..../admin/Refresh/RefreshFunction.asp 文件
修改 SelfClass 函数,约从137行左右开始。
找到
if DateRightStr = "Center" Or DateRightStr = "Right" then
SelfClass = SelfClass & "<td " & RowHeightStr & ">" & NaviPicStr & ClassCNName & "<a " & OpenTypeStr & GetCSSStyleStr(CSSStyleStr) & " href=""" & GetOneNewsLinkURL(RsNewsObj("NewsID")) & """ title="""& RsNewsObj("Title")&""">" & GetHTMLTitle(RsNewsObj("TitleStyle"),GotTopic(RsNewsObj("Title"),TitleNumberStr)) & "</a>" & ReViewStr & "</td>" & TempDateShowStr & Chr(13) & Chr(10)
else
约179行,红色部分为加入部分,蓝色部分为“new.gif”图片地址,绿色部分为对应前台的日期格式。只修改了日期格式居左或居中时的代码,如果修改居右时的,请自行找到下面居左时的代码修改。
修改为:
-----------------------------------------------------
if DateRightStr = "Center" Or DateRightStr = "Right" then
SelfClass = SelfClass & "<td " & RowHeightStr & ">" & "<script language=javascript>isitToday('" & DateFormat(RsNewsObj("AddDate"),DateRuleStr) & "',5)</script>" & NaviPicStr & ClassCNName & "<a " & OpenTypeStr & GetCSSStyleStr(CSSStyleStr) & " href=""" & GetOneNewsLinkURL(RsNewsObj("NewsID")) & """ title="""& RsNewsObj("Title")&""">" & GetHTMLTitle(RsNewsObj("TitleStyle"),GotTopic(RsNewsObj("Title"),TitleNumberStr)) & "</a>" & ReViewStr & "<script language=javascript>if (isitToday('" & DateFormat(RsNewsObj("AddDate"),DateRuleStr) & "',5)) document.write ('<img src=/images/new.gif>');</script>" & "</td>" & TempDateShowStr & Chr(13) & Chr(10)
else
-----------------------------------------------------
3.修改模板文件“index.htm”,此处后台定义的日期格式为 2003-3-1,如果后台定义日期格式为其它格式,请自行修改,别忘了一并修改上面代码中对应的绿色部分。
加入下面脚本:
----------------------------------------------------
<script language="JavaScript">
/*其中的日期字符串可有以下格式:
格式 1 : 19970529
格式 2 : 970529
格式 3 : 29/05/1997
格式 4 : 29/05/97
格式 5 : 1997-07-15
输入参数dateType是1到5的数字,表示使用哪种格式.
*/
function isitToday(dateString,dateType) {
var now = new Date();
var today = new Date(now.getYear(),now.getMonth(),now.getDate())
if (dateType == 1)
var date = new Date(dateString.substring(0,4),
dateString.substring(4,6)-1,
dateString.substring(6,8));
else if (dateType == 2)
var date = new Date(dateString.substring(0,2),
dateString.substring(2,4)-1,
dateString.substring(4,6));
else if (dateType == 3)
var date = new Date(dateString.substring(6,10),
dateString.substring(3,5)-1,
dateString.substring(0,2));
else if (dateType == 4)
var date = new Date(dateString.substring(6,8),
dateString.substring(3,5)-1,
dateString.substring(0,2));
else if (dateType == 5)
var date = new Date(dateString.substring(0,4),
dateString.substring(5,7)-1,
dateString.substring(8,10));
else
return false;
if (date.toString() == today.toString())
return true;
else
return false;
}
</script>
----------------------------------------------------
原理:
前台脚本分析日期字符串,判断是否为日期,如果是日期,那么和当天日期作比较,如果是今天,则显示“new.gif”图片,否则不显示。当然也可以定义从今天至前三天的都显示图片。
另外,最近急需文件签收功能,哪位老大能给提供个。