在DedeCMS中调用文章内容是网站开发中的常见需求,掌握不同场景下的调用方法能灵活实现页面布局,以下从基础调用到高级技巧详细说明,涵盖常用标签、参数配置及实际应用案例。

DedeCMS调用文章内容的核心标签是{dede:arclist}
和{dede:field}
,前者用于列表页调用文章摘要,后者用于内容页显示完整内容,在列表页中,若需调用文章摘要,可使用以下代码:{dede:arclist titlelen='200' row='10'}[field:title]...[field:description]{/dede:arclist}
,其中titlelen
参数控制标题字数,row
设置显示条数,若需调用文章缩略图,可添加litpic
参数:[field:litpic/]
,图片尺寸可通过CSS或img
标签的width
、height
属性调整。
页,调用完整内容需使用{dede:field body/}
标签,该标签会自动解析文章中的HTML代码,若需调用文章的其他字段,如标题、发布时间、点击量等,可使用{dede:field title/}
、{dede:field pubdate function="MyDate('Y-m-d',@me)"/}
、{dede:field click/}
等,日期格式可通过function
参数自定义,如'Y-m-d H:i:s'
会显示完整时间。
对于需要分页显示的长文章,DedeCMS默认支持分页标签{dede:pagebreak/}
,该标签需在后台“系统基本参数”中开启“自动分页”功能,分页样式可通过修改/include/arc.archives.class.php
文件中的GetPageBreak
函数自定义,或使用CSS调整分页链接的显示效果。
调用相关文章时,可使用{dede:likeart titlelen='30' row='5'}
标签,根据当前文章的关键词自动匹配相关内容,若需按栏目调用文章,可添加typeid
参数,如{dede:arclist typeid='5' row='8'}[field:title]{/dede:arclist}
,其中typeid
为目标栏目的ID。
高级应用中,可通过SQL语句实现更灵活的调用,例如调用指定时间段内的热门文章:{dede:sql sql="SELECT * FROM
dede_archivesWHERE pubdate > UNIX_TIMESTAMP()-86400*7 ORDER BY click DESC LIMIT 10"}[field:title]{/dede:sql}
,该语句调用近7天内点击量最高的10篇文章,需注意,直接使用SQL语句需确保安全性,避免SQL注入攻击。
模型的文章调用方式略有差异,若使用自定义模型,需确保调用标签与模型字段对应,例如调用图集模型的缩略图列表:{dede:arclist typeid='3' row='6'}<img src="[field:litpic/]" alt="[field:title]"/>{/dede:arclist}
,其中typeid
为图集模型所在栏目ID。

实际应用中,常需结合CSS实现样式美化,例如调用文章列表并添加悬停效果:<ul>{dede:arclist row='5'}<li><a href="[field:arcurl/]">[field:title]</a></li>{/dede:arclist}</ul>
,通过CSS设置li
的hover
属性可增强交互体验。
以下是调用文章内容时常用的参数对照表:
| 参数名 | 作用 | 示例值 | |--------|------|--------|len | 标题字数限制 | 30 | | row | 调用条数 | 10 | | typeid | 栏目ID | 5 | | orderby | 排序方式 | click、pubdate | | keyword | 关键词筛选 | DedeCMS | | infolen |摘要字数 | 200 |
相关问答FAQs:

-
问:如何调用指定栏目的子栏目文章?
答:可通过typeid
参数传入子栏目ID,多个ID用逗号分隔,如{dede:arclist typeid='5,6,7' row='10'}[field:title]{/dede:arclist}
,若需递归调用所有子栏目文章,需在后台“系统基本参数”中开启“栏目交叉递归”选项。 -
问:调用文章内容时如何排除指定ID的文章?
答:可使用notypeid
或idlist
参数,例如排除ID为1和2的文章:{dede:arclist idlist='3,4,5' row='8'}[field:title]{/dede:arclist}
,或使用notypeid='1,2'
排除指定栏目文章,需注意idlist
和notypeid
不可同时使用。