关注安徽站长创业、网站优化、网站推广及搜索引擎优化(SEO)的自媒体平台,分享最新的seo和网站优化知识

模板函数getitems

发布:雷都SEO2019-12-29 15:19分类: akcms使用手册 标签: akcms教程

getitems是AKCMS中使用最广泛的函数,80%的数据调用都是通过这个函数完成。

getitems的作用是取数据(文章、电影、新闻……)列表,首先通过几个模版中的调用实例让你对这个函数有直观的印象。

<{getitems category="1,2,3" template="[title]<br />"}>
<!--从ID为1、2、3的3个栏目中调取数据,显示其题目,每行一个-->

<{getitems num="200" orderby="pv_reverse" template="..."}>
<!--按访问量从大到小的顺序获取前200条数据-->

<table>
<{getitems template="<tr><td><a href='[url]'>[title]</a></td></tr>"}>
</table>
<!--将数据生成为一个表格-->

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

start 从第几篇文章开始,start="3"表示,抛弃符合条件的前2篇文章,从第3篇开始取,默认值为1

num 取出的文章数,默认值是10

colspan 子循环的次数,默认是没有子循环 overflow 子循环结束后插入的内容,与colspan结合可以实现很多效果,比如:共显示20篇文章每5行中间插入一根线就这样写:num="20" colspan="5" overflow="<hr />"

expire 缓存有效期,单位秒,expire="3600"表示缓存1小时,1小时内相同属性的标签不再查询数据库

length 题目长度限制,单位字节,比如:length="20"代表题目截取10个汉字或20个字母,如果是半个汉字将被舍弃

strip 题目被截取后显示的字符,比如可以指定strip="..."就表示如果题目被截断了就加上个省略号

bandindex 绑定分页,分页列表页的主内容区域必须指定bandindex="1"才能正常使用分页功能

emptymessage 如果什么内容也没有取到,则显示这个值,emptymessage="未找到符合条件的文章"

year 可以取得某年的文章

month 可以取得某年某月的文章,如果year为空则此属性无效

day 可以取得某年某月某日的文章,如果year或month为空则此属性无效

elapse 如果这个参数为1,则在生成的代码最后以注释的形式加入执行时间(这个功能是方便性能优化用的,当一个页面比较慢,可以通过这个属性查到具体哪个标签慢)

noelapse 开启调试模式后所有标签生成的代码都会加入执行时间,如果noelapse=1则会强制删除这个注释,用于JS代码等对格式要求严格的场合。

特有参数

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则表示下级栏目的内容也会被列出来,默认为0
section 主题ID,可以是多个,比如:section="1,5,6"代表从1,5,6主题取内容
skipsection 跳过的主题ID,可以是多个,比如:skipsection="4,5"代表不取4和5这两个主题的内容
template_n

针对特定模块的显示模板,n代表模块ID,比如:template_5就代表模块5专用的显示模板,而不使用template参数(6.0+

last 限制取大于此值的文章(用于上一篇下一篇功能),比如有ID有1,2,3,4,5等文章,last="3"则会取出4,5这两篇文章
next 限制取小于此值的文章,比如有ID有1,2,3,4,5等文章,next="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 默认图片,当获取某篇未指定缩略图的文章的缩略图时,会获得这个默认图片的地址
searchtext 当指定keywords参数时,通过searchtext设置是否搜索正文,默认不搜索,如果searchtext=1则搜索(4.1.2+
year 指定文章发表的年份
month 指定文章发表的月份,指定了year之后本参数才生效
day
指定文章发表的日期,指定了year、month之后本参数才生效

排序方式(orderby参数的备选值)

id
序号
orderby 排序值
orderby2 排序值2
orderby3 排序值3
orderby4 排序值4
time 时间
pv 页面浏览量
random 随机
update 最后修改时间
title 按题目
inid 按照id的顺序,例:id="8,6,9"的顺序依次8、6、9
comment 最后评论时间
commentnum 评论数
任意字段
ak_items表中的所有字段都可以用于排序,比如price等字段(6.1+

模版标签

[title] 题目
[shorttitle] 短题目(未指定短题目时显示题目[title])
[texttitle]

无样式题目

[textshorttitle] 无样式短题目
[url1]-[url4] 第1-4套网页的地址
[url] 第1套(默认)内容页url地址
[keywords] 关键词
[aimurl] 目标地址
[pv] 访问量
[_abc] 以下划线开始的是模块中的自定义字段(如果你的自定义字段是test,那就用[_test]调用)
[commentnum] 评论数
[categoryid]

栏目id

[category] 栏目名
[sectionid] 主题id
[section] 主题名
[categorypath] 栏目的文件夹名
[categoryhomepath] 已经计算好的栏目目录
[categoryurl] 已经计算好的栏目URL,可以直接用于<a>(3.8+
[categoryup] 父栏目的ID
[itemid] 文章ID号
[id] 序号,1-N
[data]

正文内容

[picture] 缩略图地址
[picture:120*80] 自定义尺寸(120*80)的缩略图地址(3.9+
[digest] 摘要
[attach] 附件个数
[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] 最新编辑短格式日


二次开发指引

1 可以通过hook的方法增加自定义的标签,请参考:《getitems处理字段的hook

2 可以通过给标签加后缀直接处理标签内容,请参考:《直接修改模版函数的标签内容(还没写)》

3 可以增加自定义的参数作为查询条件,请参考:《getitems增加参数的hook

4.如何在AKCMS中HOOK(钩子)执行自己的代码?

5.前端模版的hook

【AKCMS建站交流QQ群:174110734】

转载请注明:本文《模板函数getitems》链接: http://seo.leidu.net/post-230.html

百度已收录

已有 0/1324 人参与

发表评论:

欢迎分享合肥SEO自媒体

合肥网站SEO

欢迎使用手机扫描访问本站,还可以关注微信哦~