在 DedeCMS 中,根目录的首页文件 index.php 本身是一个 PHP 脚本,它负责初始化系统、接收请求并最终通过 include 方式加载模板文件 index.htm,你不是直接在 index.php 文件里写标签,而是在 index.htm 这个模板文件里使用 DedeCMS 的模板标签。

下面我将分模块,详细列出在首页 index.htm 中最常用和最重要的调用标签及其用法。
基础配置与说明
- 标签位置:所有模板标签都写在
index.htm文件中。 - 标签格式:DedeCMS 标签通常由
{dede:标签名 属性='值'}和{/dede:标签名}组成。 - 常用变量:
{dede:global.cfg_webname/}:网站名称{dede:global.cfg_weburl/}:网站网址{dede:global.cfg_description/}:网站描述{dede:global.cfg_keyword/}:网站关键词
核心内容调用标签
调用文档列表(文章列表)
这是最核心、最常用的标签,用于调用指定栏目下的文章列表。
基本语法:
{dede:arclist typeid='' row='' titlelen='' orderby='' channelid=''}
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
{/dede:arclist}
常用属性说明:

| 属性 | 说明 | 示例 |
|---|---|---|
typeid |
指定栏目ID,调用单个栏目,用栏目ID;调用多个栏目,用逗号隔开,如 '1,2,3',留空表示调用所有栏目。 |
typeid='1' |
row |
调用条数,显示多少篇文章。 | row='10' |
orderby |
排序方式。pubdate (发布时间,默认)、click (点击量)、id (文章ID)、rand (随机)。 |
orderby='click' |
channelid |
模型ID。1 代表文章模型,2 代表图集模型,3 代表下载模型等,默认为 1。 |
channelid='1' |
limit |
分页限制,格式为 起始位置,条数。limit='0,5' 表示从第0条开始,调用5条。 |
limit='0,5' |
常用字段说明 (通过 [field:字段名/] 调用):
| 字段 | 说明 |
|---|---|
[field:title/] |
|
[field:arcurl/] |
文章链接(完整URL) |
[field:pubdate/] |
发布时间(Unix时间戳) |
[field:description/] |
在后台文章内容中手动设置的摘要) |
[field:litpic/] |
文章缩略图 |
[field:click/] |
文章点击量 |
示例:调用 ID 为 1 的栏目下的 10 篇最新文章,标题显示 30 个字符。
<h2>最新文章</h2>
<ul>
{dede:arclist typeid='1' row='10' titlelen='30'}
<li>
<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
<span class="time">[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
</ul>
调用栏目列表
用于调用指定层级的栏目。
基本语法:

{dede:channel type='top' row='8'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
常用属性说明:
| 属性 | 说明 | 示例 |
|---|---|---|
type |
栏目类型。top (顶级栏目)、son (当前栏目的子栏目)、self (包括当前栏目和子栏目)。 |
type='top' |
row |
调用栏目数量。 | row='8' |
typeid |
指定栏目ID,如果指定了 typeid,type 属性会失效,只调用该ID下的子栏目。 |
typeid='5' |
调用友情链接
调用后台设置的友情链接。
基本语法:
{dede:flink type='text' row='24'}
<a href="[field:url/]" target="_blank">[field:name/]</a>
{/dede:flink}
常用属性说明:
| 属性 | 说明 | 示例 |
|---|---|---|
type |
显示类型。text (文字链接)、image (图片链接)、textall (所有类型)。 |
type='text' |
row |
调用数量。 | row='24' |
高级与特殊标签
调用指定单篇文档
常用于调用“网站公告”、“公司简介”等固定内容,你需要先在后台创建一个文档,并记下其文章ID。
基本语法:
{dede:sql sql='Select body From dede_arctiny where id=文章ID'}
[field:body/]
{/dede:sql}
或者使用更灵活的 示例:调用 ID 为 100 的文章内容。 这是一个非常常见的布局,即“大栏目 + 子栏目文章列表”。 基本思路: 示例代码: 注意:这里的 调用最新的评论信息。 基本语法: 参数说明: 如果你的首页内容很多,需要分页显示,就需要用到分页标签。 分页标签必须放在 基本语法: 或者更常用的简洁分页: 用于生成一个站内搜索的表单。 基本语法: 掌握以上这些标签,你就可以构建出功能完善的 DedeCMS 首页了,对于更复杂的需求,可以进一步学习 DedeCMS 的自定义模型、标签嵌套和SQL查询等高级技巧。arclist
{dede:arclist idlist='文章ID'}
[field:title/]
[field:body/]
{/dede:arclist}
{dede:sql sql='Select body From dede_arctiny where id=100'}
<div class="notice">
[field:body/]
</div>
{/dede:sql}
调用子栏目及其文章
{dede:channel} 调用子栏目列表。{dede:arclist} 调用其下的文章。{dede:channel type='son' typeid='父栏目ID'}
<div class="box">
<h3><a href="[field:typelink/]">[field:typename/]</a></h3>
<ul>
{dede:arclist row='5' titlelen='30'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
{/dede:channel}
typeid='父栏目ID' 需要替换成你实际的父栏目ID。调用评论/留言
{dede:loop table='dede_feedback' sort='dtime' row='10'}
[field:username/] 评论了 [field:arctitle/]:<br />
[field:msg function='htmlspecialchars(@me)'/]
{/dede:loop}
table: 评论表,默认为 dede_feedback。sort: 排序字段,dtime 是评论时间。row: 调用条数。
分页标签
{dede:arclist} 或 {dede:list} 标签的后面。{dede:arclist typeid='1' row='10' pagesize='20'}
<!-- 文章列表内容 -->
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
<!-- 分页条 -->
<div class="dede_pages">
<ul>
<li><span class="pageinfo">共 <strong>{dede:pagelist listsize='0'/}</strong> 页</span></li>
</ul>
</div>
{dede:pagelist listitem='info,index,end,pre,next,pageno' listsize='5'/}
listitem 属性说明:
info: 显示 "共X页X条" 信息index: 显示首页pre: 显示上一页next: 显示下一页pageno: 显示页码end: 显示尾页
搜索表单
<form name="formsearch" action="{dede:global.cfg_cmspath/}/search.php">
<input type="hidden" name="kwtype" value="1" />
<input type="hidden" name="searchtype" id="searchtype" value="titlekeyword" />
<input type="text" name="q" value="在这里输入关键词" />
<button type="submit">搜索</button>
</form>
总结与注意事项
index.htm)中调用,而不是在 index.php 中。
typeid 或 idlist 写错了。function="MyDate('Y-m-d', @me)" 这样的写法,是调用 DedeCMS 的自定义函数来格式化时间。@me 代表当前字段的原始值。
