akcms在模板文件中书写< php >,AKCMS模板函数标签的使用

在AKCMS的模板中可以编写标签调用网站内容,这些标签如下:

getitems标签

getitems函数是AKCMS中使用最广泛的函数,可以这么说,把这个函数弄明白了,就掌握了80%的AKCMS的使用。

公用参数(get***系列函数都支持的参数)

start:从第几篇文章开始,start="3"表示,抛弃符合条件的前2篇文章,从第3篇开始取,默认值为1num:取出的文章数,默认值是10colspan:子循环的次数,默认是没有子循环overflow:子循环结束后插入的内容,与colspan结合可以实现很多效果,比如:共显示20篇文章每5行中间插入一根线就这样写:num="20" colspan="5" overflow="


"expire:缓存有效期,单位秒,expire="3600"表示缓存1小时,1小时内相同属性的标签不再查询数据库length:题目长度限制,单位字节,比如:length="20"代表题目截取10个汉字或20个字母,如果是半个汉字将被舍弃strip:题目被截取后显示的字符,比如可以指定strip="..."就表示如果题目被截断了就加上个省略号bandindex:绑定分页,分页列表页的主内容区域必须指定bandindex="1"才能正常使用分页功能emptymessage:如果什么内容也没有取到,则显示这个值,emptymessage="未找到符合条件的文章"year:可以取得某年的文章month:可以取得某年某月的文章,如果year为空则此属性无效day:可以取得某年某月某日的文章,如果year或month为空则此属性无效

参数

id:指定ID,可以是多个,比如:id="1,6,7",只取1,6,7这三篇文章skip:跳过指定ID,可以是多个,比如:skip="2,3",则跳过2,3这两篇文章category:栏目ID,可以是多个,比如:category="1,2,3,4"代表从1,2,3,4栏目取内容skipcategory:跳过的栏目ID,可以是多个,比如:skipcategory="2,3"代表跳过栏目2,3的内容includesubcategory:是否取下级栏目的数据,如果为1则表示下级栏目的内容也会被列出来,默认为0section:主题ID,可以是多个,比如:section="1,5,6"代表从1,5,6主题取内容skipsection:跳过的主题ID,可以是多个,比如:skipsection="4,5"代表不取4和5这两个主题的内容orderby:排序方式(可选值:id(序号),orderby(排序值),time(时间),pv(页面浏览量),random(随机)(SQLite版random不生效),默认是从小到大的顺序,如果想从大到小,则在后面加上一个 _reverse,比如:orderby="orderby_reverse"按照排序值从大到小排列,orderby="pv_reverse"按照访问量从大到小排列)也支持多个排序方式,中间用逗号分开,比如:orderby="orderby_reverse,id"意思是先按排序值从大到小排列,如果排序值相同则按ID从小到大排列。template:显示模板(默认:"[title]

")page:显示第一页,当这个参数指定的时候,start参数就失效last:限制取大于此值的文章(用于上一篇下一篇功能),比如有ID有1,2,3,4,5等文章,last="3"则会取出4,5这两篇文章next:限制取小于此值的文章,比如有ID有1,2,3,4,5等文章,last="3"则会取出1,2这两篇文章where:指定的条件将附到查询语句的最后,比如:where="id>100",则只有ID号大于100的才会被显示出来。这是高级功能,仅供对数据库比较熟悉的用户使用newinseconds:指定只选出几秒内新建的文章,比如:newinseconds="3600"则只取最近一小时录入的文章editinseconds:指定只选出几秒内修改的文章,比如:editinseconds="3600"则只取最近一小时修改过的文章timelimit:是否显示“未来”的文章,比如现在是2010年1月24日10:27:00,默认的2010年2月的文章也会显示出来,如果此属性设置为1,则不显示“未来”的文章keywords:只显示包含指定词的文章,比如:keywords="google"则将题目或关键字字段中包含google的文章order:选取排序值字段大于等于指定值的文章,比如:order=5,则只显示排序值大于等于5的文章picture:选取文章是否包含缩略图,1包含,-1不包含,0忽略nopicture:默认图片,当获取某篇未指定缩略图的文章的缩略图时,会获得这个默认图片的地址head:截取正文头部的字数,通过[texthead]获取(2.7正式版新增参数)

模板标签(template参数中可以使用以下标签,最终会被替换为对应内容,下同)

[title]题目

以下是发表时间的格式

[y]年[m]月[d]日[h]时[i]分[s]秒[sy]短格式年,如2007年则显示为07[sm]短格式月,如05月则显示为5[sd]短格式日,如08日则显示为8[last_y]最新编辑年[last_m]最新编辑月[last_d]最新编辑日[last_h]最新编辑时[last_i]最新编辑分[last_s]最新编辑秒[last_sy]最新编辑短格式年[last_sm]最新编辑短格式月[last_sd]最新编辑短格式日[url]url地址[texttitle]无样式题目[textshorttitle]无样式短题目[title]题目[shorttitle]短题目[aimurl]目标地址[pv]访问量[categoryid]栏目id[category]栏目名[sectionid]主题id[section]主题名[categorypath]栏目的文件夹名[categoryhomepath]已经计算好的栏目路径[categoryup]父栏目的ID[itemid]文章ID号[id]序号,1-N[picture]缩略图地址[digest] 摘要[text]正文内容[texthead]正文的头部截取(2.7正式版新增标签)

getindexs标签

getindexs标签主要用于调用分页列表

参数

page=$pageipp=$ipptotal=$total

这3个是必写的,如果是栏目分页还要加上:

category=$category

如果是搜索分页还要加上:

keywords=$keywordstemplatebaseurl

模板

[indexs]列表

举例

total=$total template="[indexs]"}>

getcategories标签

getcategories标签主要用于调用AKCMS栏目

参数

id:指定的栏目IDskipid:跳过的栏目ID,支持多个rootcategory:上级栏目号skipsub:跳过二级分类

模板

[url]:栏目的地址[category]:栏目的名字

举例:

[category] "}>

getcomments标签

getcomments主要用于调用评论

参数

template:模板itemid:对应文章IDorderby:排序方式

模板

[itemid]对应文章ID[username]用户名[title]题目[message]内容[dateline]时间[ip]IP地址[secretip]最后一位隐藏的IP地址[id]:排序ID[y]年[m]月[d]日[h]时[i]分[s]秒[sy]短格式年[sm]短格式月[sd]短格式日

getlists标签

getlists标签主要用于获取自定义列表

参数

template:显示模板,如果不指定此参数默认为“[item]
”sc:分隔符,默认为“,”(半角)list:列表,不指定无法工作num:显示数量,默认为-1,代表不限制

模板

[id]:序号[item]:项目[iteminurl]:经过urlencode处理过的项目(如果要放到URL中可以使用这个)[iteminhtml]:经过htmlspecialchars处理过的项目

例一:

在模板中加入以下代码:

实际上显示的是:

1
2

因为没有指定模板,所以默认取[item]

,又因为我们设定了num="2",所以只显示前两项。

例二:

假设莫篇文章有四个关键字:曼联,英超,意甲,中超。在文章正文页模板item_display.htm中加入调用全部关键字的标签:

显示在网页中的最终代码是:

曼联 英超 意甲 中超

如果想给每一个关键字加上链接,可以这样写标签:

[item] " list=$keywords}>

显示的最终代码:

曼联 英超 意甲 中超

或者把标签这样写:

[item] " list=$keywords}>

显示的最终代码:

曼联 英超 意甲 中超

注意:类似“/tag/曼联/”这样的URL需要您在rewrite中做好设置

akinclude标签

akinclude标签主要用于包含一个文件

此方法与include几乎一样,只是多了对expire参数的支持。

例如:

这样就代表引用abc.htm这个模板并把结果缓存下来,一小时(3600秒)内再次请求页面将使用缓存节省时间。

注意:只有指定了expire这个方法才有效。因为当不指定expire参数时,此方法效率比直接使用include低。

akincludeurl标签

akincludeurl标签主要用于包含一个远程网页的内容

此方法远程请求URL,并将内容包含进来。

比如:

这就在页面上显示出了百度的首页,第一次显示将稍微慢一些,因为服务器需要在后台请求百度的服务器一次。因为缓存了3600秒,所以,第二次显示速度就非常快了,不用等待。

注意:使用这个函数的页面如果是动态访问且访问量大一定要加上expire属性,否则会占满服务器的线程,现象是:服务器CPU占用不高,但是 Apache无法访问,线程都被占满。这不是akcms的缺陷,依赖外部数据源的程序都有这个问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值