'创建FileSystemObject对象
set fs=Server.CreateObject("Scripting.FileSystemObject")
set MyTextFile=fs.OpenTextFile(Server.MapPath("../file/mouldboard/news_mode.html")) '读取单个文章的文件模板
'********************************
'一次性读取文件中的所有内容
str=MyTextFile.ReadAll
'对相关内容进行替换
str=replace(str,"{title}",request("title"))
str=replace(str,"{newtitle}",request("title"))
str=replace(str,"{newcontern}",ubbcode(request("body")))
str=replace(str,"{fileGengxin}",fileGengxin)
'**********************************************************************
'将从模板中读取的内容写入网页中
set MyTextFile2=fs.OpenTextFile(Server.MapPath(filename3),2) '打开文件,并写入数据
MyTextFile2.Write(str)
MyTextFile2.Close
%>
模板需要可以在线修改,举例采用数据库保存模板代码 。也可以用FSO等读取摸版,那就不需要放到数据库中!1,数据库test.mdb
新建表moban:字段m_id(自动编号,主关键字);字段m_html(备注类型)
2,假设第一模板内容代码
将下列代码拷贝到m_html字段中
<html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">
<title>test</title>
</head>
<body leftmargin="0" topmargin="0">
<table width="100%" height="100%" border="0" cellpadding="5" cellspacing="2">
<tr align="right" bgcolor="#CCCCCC">
<td height="20" colspan="2">$cntop$</td>
</tr>
<tr valign="top">
<td width="25%" bgcolor="#e5e5e5">$cnleft$</td>
<td width="74%" bgcolor="#f3f3f3">$cnright$</td>
</tr>
</table>
</body>
</html>
注解$cntop$、$cnleft$、$cnright$,它们是用来实现某些具体的程序功能,如标题,正文等..
3,建立数据库连接文件conn.asp
<%
set conn= Server.CreateObject("ADODB.Connection")
connstr = "Provider=Microsoft.Jet.OLEDB.4.0Data Source="&Server.MapPath("test.mdb")
conn.Open connstr
%>
4,建立特殊字符串转换所需要的文件 config.asp
该文件的主要作用是将实现某些功能的ASP程序做成字程序,以方便调用。
<%
dim topcode
sub cntop()
topcode="现在时间是:"
topcode=topcode&now()
end sub
dim leftcode,i
sub cnleft()
for i = 1 to 5
leftcode=leftcode&"<p>im286.com"
next
end sub
dim rightcode
sub cnright()
for i = 1 to 9
rightcode=rightcode&"<hr color="&i&i&i&i&i&i&">"
next
end sub
%>
5,最后,调用数据库中的模板代码,将特殊字符串转换。
<!--#include file="conn.asp" -->
<!--#include file="config.asp" -->
<%
sql="select * from moban where m_id=1"
set rs=Server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
mb_code=rs("m_html")
rs.close
set rs=nothing
cntop()
mb_code=replace(mb_code,"$cntop$",topcode)
cnleft()
mb_code=replace(mb_code,"$cnleft$",leftcode)
cnright()
mb_code=replace(mb_code,"$cnright$",rightcode)
response.write mb_code
%>
上面就是将模板代码进行显示,并将其中的特殊代码转变为相对应子程序功能。
至此,最简单的ASP的模板功能基本完成...
一般会有个类似template这样的文件夹,下面会存放有模板文件,当然这个和具体的系统有关,要看你的代码才知道是调用的哪个模板.知道模板位置后,就可以象设计HTML一样更改你的模板了,里面一般会一些标签一样的调用字符,这个要根据实际使用的程序约定来改写的,一般会有这些标签的说明书,如果没有就只好看原始代码来看具体有些什么标签以及具体标签的使用方法了,如果实在不会,就私信加扣说吧,单在这里也不好说清楚欢迎分享,转载请注明来源:夏雨云
评论列表(0条)