用自定标签可以获取数据库中相应表的字段,可是有些字段比如说下载地址是以字符串的方式存放的,然后在字符串中用分割符区分不同地址,比如说:"下载地址1|200710/20071022165122306.doc$$$下载地址2|http://www.163.com"
如何在自定义标签中把这两个地址分隔出来?可以用js中的split函数
添加自定义函数标签如下:
函数名:比如{MY_fenge}
参数:一个,在下载内容页模板调用的时候为{MY_fenge({$SoftID})}
查询语句:select DownloadUrl from PE_Soft where SoftID={input(0)}
标签内容:
{Loop} {Infobegin}
<script language="JavaScript">
var str="{$Field(0,Text,0,0,0)} " //{$Field(0,Text,0,0,0)}为数据库中的下载地址,
// 以"下载地址1|200710/20071022165122306.doc$$$下载地址2|http://www.163.com"为例
var str1=str.split("$$$") //对下载地址进行第一次分割,按照$$$拆开,然后存放在数组str1中
//str1[0]=下载地址1|200710/20071022165122306.doc
//str1[1]=下载地址2|http://www.163.com.
var str2; //定义一个新的数组,因为还需要第二次分割才能得出正确的地址.
for(i=0;i<str1.length;i ){ //这个循环是算出有多少个下载地址的,str1.length是数组的长度.
str2 = str1[i].split("|") //第二次分割,也就是把str1[0]=下载地址1|200710/20071022165122306.doc
//再进行一次分隔,我们要取的是200710/20071022165122306.doc这个值
var count=i 1 //i是0开始的.所以这里加一,用来对下载地址进行编号.
//第二次分隔后,str2[0]=下载地址1,str2[1]=200710/20071022165122306.doc,str2[1]即我们要取的内容
document.write ("下载地址" count ":<a href='" str2[1] "'>" str2[1] "</a><br>");
}
</script> {Infoend} {/Loop}
前台显示的效果是
下载地址1:200710/20071022165122306.doc
下载地址2:http://www.163.com
新闻热点
疑难解答
图片精选