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> <!--将数据生成为一个表格-->
特有参数
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(还没写)》