dedecms arclist 参数有哪些?如何正确使用?

99ANYc3cd6
预计阅读时长 19 分钟
位置: 首页 参数 正文

arclist 标签主要用于获取并列表显示文章、图集等文档内容,相当于一个万能的内容调用器,无论是在首页、列表页还是内容页,你都可以用它来调用其他栏目的文章、热门文章、推荐文章等。

dedecms arclist 参数
(图片来源网络,侵删)

基本语法

arclist 标签的基本语法结构如下:

{dede:arclist}
    <a href="[field:arcurl/]">[field:title/]</a>
    <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    <p>[field:description function="cn_substr(@me, 100)"/]...</p>
{/dede:arclist}
  • {dede:arclist}: 开始标签,用于定义调用参数。
  • 循环体内的内容,即每一条文章的显示样式。
  • {/dede:arclist}: 结束标签。

循环体内通过 [field:字段名/][field:字段名 function="处理函数"/] 的方式来获取文章的各个字段信息。


核心参数说明

arclist 的强大之处在于其丰富的参数,下面我将参数分为几类,方便你理解和查找。

栏目限制参数

这些参数用于控制从哪些栏目中获取文章。

dedecms arclist 参数
(图片来源网络,侵删)
参数 说明 示例
typeid 指定栏目ID,可以填写单个ID,如 1;也可以填写多个ID,用逗号隔开,如 1,2,3;还可以用 top 表示顶级栏目。 typeid='1' (调用栏目ID为1的文章)
typeid 排除指定栏目ID,在 typeid 后面加上 not,表示调用除了这些栏目之外的所有文章。 typeid='not1,5' (调用除了栏目ID为1和5之外的文章)
nativeplace 指定稿件来源(地域),很少使用。 nativeplace='1'
channel 模型ID。1 代表普通文章,2 代表图集,3 代表下载等。 channel='1' (只调用普通文章)

数量与排序参数

这些参数控制调用的文章数量和显示顺序。

参数 说明 示例
row 调用文章的数量,默认为 10 条。 row='5' (只显示5条)
infolen 简介长度,单位是字节。 infolen='200' (简介最多显示200个字节)
orderway 排序方式desc 为降序(默认),asc 为升序。 orderway='asc' (按发布时间升序排列)
orderby 排序字段,常用值:id(文章ID), sortrank(权重/置顶), pubdate(发布时间), click(点击量), arcrank(文章级别)。 orderby='click' (按点击量从高到低排序)
subday 调用指定天数内发布的文章。 subday='7' (只调用最近7天内发布的文章)
keyword 按关键词调用文章,多个关键词用逗号隔开。 keyword='技术,教程' (调用标题或关键词包含“技术”或“教程”的文章)

条件过滤参数

这些参数用于对文章进行筛选,如只调用推荐文章、只调用有缩略图的文章等。

参数 说明 示例
flag 特殊属性标志,常用值:
h (头条), c (推荐), p (图片), f (幻灯), s (跳转), a (特荐), b (滚动), j (加粗), 1 (列表式),多个值可组合,如 hc 表示头条和推荐。
flag='h' (只调用头条文章)
ismake 是否生成静态文件。1 是,0 否。 ismake='1' (只调用已生成静态文件的文章)
channeltype 频道类型。1 表示系统频道,-1 表示外部频道。 channeltype='1'
arcrank 文章级别。-1 表示所有级别(默认),0 表示公开,1 表示会员级别等。 arcrank='0' (只调用公开级别的文章)
att 是否有附件。1 是,0 否。 att='1' (只调用带有附件的文章)
imgwidth 缩略图宽度。 imgwidth='200'
imgheight 缩略图高度。 imgheight='150'

高级功能参数

参数 说明 示例
limit 分页起始与结束,格式为 "起始条数,结束条数"row 参数会被忽略。 limit='0,5' (从第0条开始,共显示5条,等同于 row='5')
noflag 排除特殊属性,与 flag 相反,排除掉带有这些标志的文章。 noflag='h' (调用除了头条之外的所有文章)
ismember 是否会员内容。1 是,0 否。 ismember='1' (只调用会员才能查看的内容)
keyword 按关键词调用。 keyword='织梦' (调用标题或关键词包含“织梦”的文章)
parttype 指定获取的是文章的哪个部分。body (正文), text (纯文本正文)。 parttype='text'

常用调用示例

示例1:调用指定栏目的最新文章

调用栏目ID为 1 的最新5篇文章,标题长度限制为30个字。

{dede:arclist typeid='1' row='5' titlelen='30'}
    <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:arclist}

示例2:调用全站的头条文章

调用全站所有被设为“头条”的文章,按点击量排序,显示10条。

{dede:arclist flag='h' orderby='click' row='10'}
    <li><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}

示例3:调用带有缩略图的文章

调用栏目ID为 23 的文章,只显示有缩略图的,并显示缩略图、标题和简介。

{dede:arclist typeid='2,3' row='4' imgwidth='120' imgheight='90'}
    <div class="item">
        <a href="[field:arcurl/]"><img src="[field:litpic/]" alt="[field:title/]" width="120" height="90" /></a>
        <h3><a href="[field:arcurl/]">[field:title/]</a></h3>
        <p>[field:description function='cn_substr(@me, 80)'/]...</p>
    </div>
{/dede:arclist}

注意[field:litpic/] 用于获取文章的缩略图地址。

示例4:排除某个栏目并按权重排序

调用除了栏目ID为 5 之外的所有文章,按“权重”(sortrank)降序排列,显示8条。

{dede:arclist typeid='not5' orderby='sortrank' orderway='desc' row='8'}
    <a href="[field:arcurl/]" title="[field:title function='htmlspecialchars(@me)'/]">[field:title/]</a>
{/dede:arclist}

示例5:调用指定时间段内的热门文章

调用最近7天内发布的、点击量最高的5篇文章。

{dede:arclist subday='7' orderby='click' row='5'}
    <a href="[field:arcurl/]">[field:title/]</a> ([field:click/]次点击)
{/dede:arclist}

注意[field:click/] 用于获取文章的点击量。


常用字段调用

{dede:arclist} 循环体内,你可以使用以下常用字段:

字段名 说明
[field:id/] 文章ID
[field:title/]
[field:arcurl/] 文章链接
[field:litpic/] 缩略图地址
[field:pubdate/] 发布时间(时间戳)
[field:description/] 文章简介
[field:click/] 点击量
[field:writer/] 作者
[field:source/] 来源
[field:typename/] 所属栏目名称

处理函数:很多时候,需要对字段值进行格式化处理,这时就需要使用 function

  • 日期格式化[field:pubdate function='MyDate("Y-m-d H:i", @me)'/]
    • MyDate 是DedeCMS的日期处理函数。
    • "Y-m-d H:i" 是你想要的日期格式。
    • @me 代表当前字段的原始值。
  • 截取字符串[field:title function='cn_substr(@me, 20)'/]
    • cn_substr 是DedeCMS的截取字符串函数,支持中英文混合。
    • 20 是要截取的长度。
  • 去除HTML标签[field:description function='htmlspecialchars(strip_tags(@me))'/]
    • strip_tags 去除HTML标签。
    • htmlspecialchars 转义HTML特殊字符,防止XSS攻击。

重要注意事项

  1. 性能优化arclist 是一个非常消耗数据库资源的标签,尤其是在首页或调用大量数据时,尽量避免在首页使用无限制的 arclist 调用。
  2. limit vs row:当需要分页或指定起始位置时,使用 limit 参数,如果只需要固定数量,使用 row 即可。
  3. flag 参数的灵活性flag 参数非常强大,可以组合使用,如 flag='h,c' 表示同时是头条和推荐。
  4. 官方文档:DedeCMS的官方文档是最好的参考资料,虽然可能有些陈旧,但大部分参数和说明依然是准确的。

希望这份详细的 arclist 参数指南能帮助你更好地使用 DedeCMS!

-- 展开阅读全文 --
头像
lifesense智能体重秤,智能体现在哪里?
« 上一篇 12-07
Dell Vostro 1088拆机步骤与注意事项有哪些?
下一篇 » 12-07

相关文章

取消
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]