模板函数getitems
_wKPBqn">getitems是AKCMS中使用最广泛的函数,80%的数据调用都是通过这个函数完成。
getitems的作用是取数据(文章、电影、新闻……)列表,首先通过几个模版中的调用实例让你对这个函数有直观的印象。
<{getitemscategory="1,2,3"template="[title]<br/>"}>
<!--从ID为1、2、3的3个栏目中调取数据,显示其题目,每行一个-->
<{getitemsnum="200"orderby="pv_reverse"template="..."}>
<!--按访问量从大到小的顺序获取前200条数据-->
<table>
<{getitemstemplate="<tr><td><ahref='[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(还没写)》