求解析asp代码!!

i43074307 2007-06-17 12:21:45
以下的代码我越看越头大,求侠客帮解析下:
'过程名:LoadTemplates
'作 用:载入模板
'参 数:Page_Mark ----StyleID
'=============================================================
Public Sub LoadTemplates(ChannelID, pageid, StyleID)
Dim rstmp, TempSkinID
On Error Resume Next
ChannelID = CLng(ChannelID)
ThisChannelID = ChannelID
pageid = CInt(pageid)
Name = "DefaultSkinID"
If ObjIsEmpty() Then
Set rstmp = Execute("SELECT skinid FROM [NC_Template] WHERE pageid=0 And isDefault=1")
Value = rstmp(0)
Set rstmp = Nothing
End If
TempSkinID = Value
If StyleID = 0 Or StyleID = "" Then
skinid = TempSkinID
Else
Set rstmp = Execute("SELECT skinid FROM [NC_Template] WHERE pageid=0 And skinid=" & StyleID)
If Not rstmp.EOF Then
skinid = rstmp(0)
Else
skinid = TempSkinID
End If
Set rstmp = Nothing
End If
skinid = CLng(skinid)
Name = "MainStyle" & skinid
If ObjIsEmpty() Then TemplatesMainCache (skinid)
Main_Style = Value
SkinPath = Main_Style(0, 0)
Main_Setting = Split(Main_Style(2, 0), "|||")
MainStyle = Main_Style(1, 0)
'MainStyle = Replace(MainStyle, "{$InstallDir}", ReadInstallDir(BindDomain))
MainStyle = Replace(MainStyle, "{$SkinPath}", SkinPath)
MainStyle = Replace(MainStyle, "|||","")

If pageid <> 0 Then
Name = "Templates" & ChannelID & skinid & pageid
If ObjIsEmpty() Then
TemplatesToCache ChannelID, pageid
End If
ByValue = Value
End If
End Sub
Private Sub TemplatesToCache(ChannelID, pageid)
On Error Resume Next
Dim Rs, SQL, rstmp
SQL = "SELECT skinid,page_content,page_setting FROM [NC_Template] WHERE ChannelID=" & ChannelID & " And skinid=" & skinid & " And pageid=" & pageid
Set Rs = Execute(SQL)
If Not Rs.EOF Then
Value = Rs.GetRows(1)
Else
Set rstmp = Execute("SELECT skinid,page_content,page_setting FROM [NC_Template] WHERE ChannelID=" & ChannelID & " And isDefault=1 And pageid=" & pageid)
Value = rstmp.GetRows(1)
Set rstmp = Nothing
End If
Set Rs = Nothing
End Sub
Private Sub TemplatesMainCache(skinid)
On Error Resume Next
Dim Rs, SQL, rstmp
SQL = "SELECT TemplateDir,page_content,page_setting FROM [NC_Template] WHERE pageid=0 And skinid=" & skinid & " And ChannelID=0"
Set Rs = Execute(SQL)
If Not Rs.EOF Then
Value = Rs.GetRows(1)
Else
Set rstmp = Execute("SELECT TemplateDir,page_content,page_setting FROM [NC_Template] WHERE pageid=0 And isDefault=1 And ChannelID=0")
Value = rstmp.GetRows(1)
Set rstmp = Nothing
End If
Set Rs = Nothing
End Sub
Public Property Let ByValue(ByVal vNewValue)
Dim tmpstr
tmpstr = vNewValue
Html_Setting = tmpstr(2, 0)
Html_Setting = Split(Html_Setting, "|||")
HtmlContent = tmpstr(1, 0)

HtmlContent = TemplateCustom(HtmlContent)
HtmlContent = Replace(HtmlContent, "<head>", "<head>" & vbNewLine & CopyrightStr)
HtmlContent = Replace(HtmlContent, "<HEAD>", "<HEAD>" & vbNewLine & CopyrightStr)
HtmlContent = Replace(HtmlContent, "{$Style_CSS}", MainStyle)
HtmlContent = Replace(HtmlContent, "{$SkinPath}", SkinPath)
HtmlContent = Replace(HtmlContent, "{$Width}", Main_Setting(0))
HtmlContent = Replace(HtmlContent, "{$ChannelMenu}", ChannelMenu)
HtmlContent = Replace(HtmlContent, "{$WebSiteName}", SiteName)
HtmlContent = Replace(HtmlContent, "{$WebSiteUrl}", SiteUrl)
HtmlContent = Replace(HtmlContent, "{$MasterMail}", MasterMail)
HtmlContent = Replace(HtmlContent, "{$Keyword}", keywords)
HtmlContent = Replace(HtmlContent, "{$Copyright}", Copyright)
HtmlContent = Replace(HtmlContent, "{$IndexName}", IndexName)
HtmlContent = Replace(HtmlContent, "{$Version}", version)
HtmlContent = Replace(HtmlContent, "{$PublishedDate}", Now())
HtmlContent = Replace(HtmlContent, "{$siteAdsCode1}", ArraySiteAdsCode(0))
HtmlContent = Replace(HtmlContent, "{$siteAdsCode2}", ArraySiteAdsCode(1))
HtmlContent = Replace(HtmlContent, "{$siteAdsCode3}", ArraySiteAdsCode(2))
HtmlContent = Replace(HtmlContent, "{$siteAdsCode4}", ArraySiteAdsCode(3))
HtmlContent = Replace(HtmlContent, "{$siteAdsCode5}", ArraySiteAdsCode(4))
HtmlContent = Replace(HtmlContent, "{$siteAdsCode6}", ArraySiteAdsCode(5))
HtmlContent = HtmlContent
End Property
Public Property Get ByValue()
ByValue = HtmlContent
End Property
Public Property Let HTMLValue(ByVal vNewValue)
Dim TempStr
TempStr = TemplateCustom(vNewValue)
HtmlContent = Replace(HtmlContent, "<head>", "<head>" & vbNewLine & CopyrightStr)
HtmlContent = Replace(HtmlContent, "<HEAD>", "<HEAD>" & vbNewLine & CopyrightStr)
TempStr = Replace(TempStr, "{$Style_CSS}", MainStyle)
TempStr = Replace(TempStr, "{$SkinPath}", SkinPath)
TempStr = Replace(TempStr, "{$Width}", Main_Setting(0))
TempStr = Replace(TempStr, "{$ChannelMenu}", ChannelMenu)
TempStr = Replace(TempStr, "{$WebSiteName}", SiteName)
TempStr = Replace(TempStr, "{$WebSiteUrl}", SiteUrl)
TempStr = Replace(TempStr, "{$MasterMail}", MasterMail)
TempStr = Replace(TempStr, "{$Keyword}", keywords)
TempStr = Replace(TempStr, "{$Copyright}", Copyright)
TempStr = Replace(TempStr, "{$IndexName}", IndexName)
TempStr = Replace(TempStr, "{$Version}", version)
HtmlContent = Replace(HtmlContent, "{$PublishedDate}", Now())
TempStr = Replace(TempStr, "{$siteAdsCode1}", ArraySiteAdsCode(0))
TempStr = Replace(TempStr, "{$siteAdsCode2}", ArraySiteAdsCode(1))
TempStr = Replace(TempStr, "{$siteAdsCode3}", ArraySiteAdsCode(2))
TempStr = Replace(TempStr, "{$siteAdsCode4}", ArraySiteAdsCode(3))
TempStr = Replace(TempStr, "{$siteAdsCode5}", ArraySiteAdsCode(4))
TempStr = Replace(TempStr, "{$siteAdsCode6}", ArraySiteAdsCode(5))
sHtmlContent = TempStr
End Property
Public Property Get HTMLValue()
HTMLValue = sHtmlContent
End Property
Public Property Get HtmlSetting(n)
HtmlSetting = Html_Setting(n)
End Property
Public Property Get MainSetting(n)
MainSetting = Main_Setting(n)
End Property
Public Function TemplateCustom(ByVal strHTML)
Dim Custom,strContent
strContent = strHTML
Set Custom = New LabelCustom_Cls
Custom.Template = strContent
Custom.Channel = ThisChannelID
Custom.Execute
strContent = Custom.Template
Set Custom = Nothing
TemplateCustom = strContent
End Function
...全文
287 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ainkate 2008-11-09
  • 打赏
  • 举报
回复
Public Property Let Value(ByVal vNewValue)
If LocalCacheName <> "" Then
ReDim Cache_Data(2)
Cache_Data(0) = vNewValue
Cache_Data(1) = Now()
Application.Lock
Application(CacheName & "_" & LocalCacheName) = Cache_Data
Application.UnLock
Else
Err.Raise vbObjectError + 1, "NewaspCacheServer", " please change the CacheName."
End If
End Property
这是新云类里的一个过程属性,即缓存值贮值给Main_Style变量
i43074307 2007-06-17
  • 打赏
  • 举报
回复
Main_Style = Value 什么意思啊
i43074307 2007-06-17
  • 打赏
  • 举报
回复
If ObjIsEmpty() Then TemplatesMainCache (skinid)
Main_Style = Value
SkinPath = Main_Style(0, 0)
Main_Setting = Split(Main_Style(2, 0), "|||")
MainStyle = Main_Style(1, 0)
'MainStyle = Replace(MainStyle, "{$InstallDir}", ReadInstallDir(BindDomain))
MainStyle = Replace(MainStyle, "{$SkinPath}", SkinPath)
MainStyle = Replace(MainStyle, "|||","")
特别是上面的代码,一头雾水,Main_Style(0, 0)在哪定义的?
i43074307 2007-06-17
  • 打赏
  • 举报
回复
TOmayi545() :小弟菜鸟一个,没办法很好理解呵,还请多支教!!
mayi545 2007-06-17
  • 打赏
  • 举报
回复
新云的代码,代码虽然多,但很好理解呵,就是将数据库中的模板数据读取出来,然后再查找替换而已,风讯的比他复杂多了~

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧