aspcms 幻灯片用列表调用

首先找到网站目录/inc/AspCms_MainClass.asp

增加主函数

Public Function parseSlideList(str)
if not isExistStr(content,"{aspcms:"&str&"slidelist") then Exit Function
dim match,matches,matchfield,matchesfield
dim labelAttrLinklist,loopstrLinklist,loopstrLinklistNew,loopstrTotal
dim vtype,vnum,whereStr,linkArray,linkUrlArray,linktextArray
dim fieldName,fieldAttr,fieldNameAndAttr,fieldAttrLen
dim i,labelRuleField
dim m,namelen,deslen,m_des
labelRule="{aspcms:"&str&"slidelist([\s\S]*?)}([\s\S]*?){/aspcms:"&str&"slidelist}"
labelRuleField="\["&str&"slidelist:([\s\S]+?)\]"
regExpObj.Pattern=labelRule
set matches=regExpObj.Execute(content)
for each match in matches
labelAttrLinklist=match.SubMatches(0)
loopstrLinklist=match.SubMatches(1)
vtype=parseArr(labelAttrLinklist)("type")
if isnul(vtype) or (vtype<>"a" and vtype<>"b" and vtype<>"c") then vtype="" ‘type 空 a b c
if vtype="" then
linkArray=split(slideImgs&vtype,",")
linkUrlArray=split(slideLinks&vtype,",")
linkTextArray=split(slideTexts&vtype,",")
else
linkArray=split(eval(slideImgs&vtype),",")
linkUrlArray=split(eval(slideLinks&vtype),",")
linkTextArray=split(eval(slideTexts&vtype),",")
end if
if not isarray(linkArray) then vnum=-1 else vnum=ubound(linkArray)
regExpObj.Pattern=labelRuleField
set matchesfield=regExpObj.Execute(loopstrLinklist)
loopstrTotal=""
for i=0 to vnum-1
loopstrLinklistNew=loopstrLinklist
for each matchfield in matchesfield
fieldNameAndAttr=regExpReplace(matchfield.SubMatches(0),"[\s]+",chr(32))
fieldNameAndAttr=trimOuter(fieldNameAndAttr)
m=instr(fieldNameAndAttr,chr(32))
if m > 0 then
fieldName=left(fieldNameAndAttr,m - 1)
fieldAttr = right(fieldNameAndAttr,len(fieldNameAndAttr) - m)
else
fieldName=fieldNameAndAttr
fieldAttr = ""
end if
select case fieldName
case "t"
loopstrLinklistNew = replace(loopstrLinklistNew,matchfield.value,vnum+1)
case "imgurl"
loopstrLinklistNew=replaceStr(loopstrLinklistNew,matchfield.value,linkArray(i))
case "link"
loopstrLinklistNew=replaceStr(loopstrLinklistNew,matchfield.value,linkUrlArray(i))
case "title"
loopstrLinklistNew=replaceStr(loopstrLinklistNew,matchfield.value,linkTextArray(i))
case "width"
loopstrLinklistNew=replaceStr(loopstrLinklistNew,matchfield.value,eval(slideWidth&vtype))
case "height"
loopstrLinklistNew=replaceStr(loopstrLinklistNew,matchfield.value,eval(slideHeight&vtype))
case "i"
loopstrLinklistNew=replaceStr(loopstrLinklistNew,matchfield.value,i+1)
end select
next
loopstrTotal=loopstrTotal&loopstrLinklistNew
next
set matchesfield=nothing
content=replaceStr(content,match.value,loopstrTotal)
strDictionary.removeAll
next
set matches=nothing
End Function

然后在文件中查找函数parseGlobal()增加解析标签代码

content=replaceStr(content,"{aspcms:slidelist}",parseSlideList(""))

大功告成!

在首页我们可以这样调用

其中的字段

[slidelist:link] [slidelist:imgurl]

{aspcms:slidelist type=a}

{/aspcms:slidelist}

{aspcms:slidelist type=b}

{/aspcms:slidelist}

{aspcms:slidelist type=d}

{/aspcms:slidelist}

时间: 2024-10-21 02:26:29

aspcms 幻灯片用列表调用的相关文章

参数列表调用子类构造函数

有时候,基类构造函数是带有参数,而子类构造函数是不带参数的,如下: class Animal { public: Animal(int width, int height) { this->width = width; this->height = height; } private: int width, height; }; class Cat:public Animal { public: Cat() { cout << "init cat" <&l

dede模版列表调用文章正文内容的方法

在制作织梦模板的时候,有的时候我们需要调用文章部分内容,用[field:description/]标签字数不够多(数据库设计字段是varchar(255)的),另外修改了文章内容但是摘要还需要手动修改,所以只能调用文章正文内容了.      实现织梦DedeCMS列表页调用文章正文的方法有两种,不过都是使用的dede:arclist标签,如果使用dede:list标签的话,第一种方法是调用不出结果的. 以下是织梦DedeCMS列表页调用文章正文的第一种方法: {dede:arclist flag

phpcms v9栏目列表调用每一篇文章内容方法1

我们先来看下默认栏目调用的代码: 复制代码代码如下:{pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page"}<ul class="list lh24 f14">{loop $data $r}<li><span class="rt">

phpcms v9栏目列表调用每一篇文章内容方法

{pc:content action="lists" catid="$catid" num="25" order="id DESC" page="$page" moreinfo="1"} <ul class="list lh24 f14"> {loop $data $r} <li><span class="rt">

destoon-供应列表调用分类属性值

在list-sell.htm中添加的 <?php $a = $t[itemid]; $b = $db->get_one("select value from destoon_category_value where itemid='$a'"); echo $b[value]; ?> 原文地址:https://www.cnblogs.com/lx0715/p/9946865.html

易企CMS模板调用标签列表

格式化URL formaturl 参数:type (生成URL类型) 可选值:article,product,category,catalog,comment参数:siteurl (生成URL网站地址)参数:name (生成URL文件名称)模板调用方法{formaturl type="article" siteurl=$siteurl name="about"}说明:生成文章文件名称为about的URL. 文章功能类 articledata GetArticle (

如何调用woocommerce的订单列表

woocommerce的订单列表 woocommerce的订单列表在我的账户(我的个人中心)下的订单链接打开可以看到如下图: 订单列表的模板在woocommerce模板文件中的myaccount/orders.php中. 那么如果我们想要将这个订单列表,比如“未完成的订单”调用到其他的地方应该如何去做呢? woocommerce的订单列表调用 woocommerce的我的个人中心进入主页是比较简单的界面,只有一段文字和几个链接,这样一来,和我们所看到的大部分的电子商务网站就很不一样了. 一般的电

EMLOG首页调用评论发布框和评论列表

在用EMLOG建设单页网站时,需要在首页显示评论发布框和评论列表,要实现这个功能,就需要修改模版脚本文件module.php里的blog_comments_post.blog_comments.blog_comments_children这三个函数来实现效果:默认情况下这三个函数需要在文章页面才能正常使用,因为这三个函数都绑定了文章ID号,首页没有文章ID号输入功能,所以我们如果想要在首页显示评论发布框和评论列表可以采用下面的方法来实现: 第一步: 在后台新建个单页,命名为评论中心,记住这个单页

AspCms标签

一.网站通用标签 {aspcms:sitepath} 网站终极目录(可放在二级目录,其它语言则在三级目录) {aspcms:languagepath} 语言目录 {aspcms:siteurl} 网站地址 {aspcms:sitelogo} LOGO地址 {aspcms:sitetitle} 网站标题 {aspcms:additiontitle} 网站附加标题 {aspcms:sitekeywords} 网站关键词 {aspcms:sitedesc} 网站描述 {aspcms:defaultte