基础信息标签
这些标签用于显示文章的基本信息,如标题、作者、发布时间等。
| 作用 | 示例 | |
|---|---|---|
{dede:field.title/} |
,SEO 友好。 | <h1>{dede:field.title/}</h1> |
{dede:field.seotitle/} |
SEO 标题,如果后台填写了则显示,否则显示文章标题。 | <title>{dede:field.seotitle/}</title> |
{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/} |
发布时间,function 用于格式化时间。 |
<span>发布时间:{dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}</span> |
{dede:field.source/} |
文章来源。 | <span>来源:{dede:field.source/}</span> |
{dede:field.writer/} |
文章作者。 | <span>作者:{dede:field.writer/}</span> |
{dede:field.click/} |
文章点击数。 | <span>阅读:{dede:field.click/}</span> |
{dede:field.keywords/} |
文章关键词,多个关键词用英文逗号隔开。 | <meta name="keywords" content="{dede:field.keywords/}"> |
{dede:field.description/} |
描述。 | <meta name="description" content="{dede:field.description/}"> |
内容与正文标签
页最核心的部分,用于显示文章的具体内容。
| 作用 | 示例 | |
|---|---|---|
{dede:field.body/} |
文章正文内容,包含所有 HTML 标签和图片。 | <div class="article-content">{dede:field.body/}</div> |
{dede:field name='body'/} |
field 标签的另一种写法,效果与 {dede:field.body/} 相同。 |
<div class="article-content">{dede:field name='body'/}</div> |
上一篇/下一篇 标签
用于在文章页显示导航,引导用户阅读相关内容。
单独获取上一篇/下一篇的链接和标题
| 作用 | |
|---|---|
{dede:prenext get='pre'/} |
上一篇的链接和标题。 |
{dede:prenext get='next'/} |
下一篇的链接和标题。 |
示例:
<div class="prenext">
<div class="pre">
{dede:prenext get='pre'/}
</div>
<div class="next">
{dede:prenext get='next'/}
</div>
</div>
默认输出格式:
上一篇:<a href="[链接地址]">[文章标题]</a>
自定义上一篇/下一篇的样式(推荐)
使用 {dede:field name='prelink'/} 和 {dede:field name='nextlink'/} 可以更灵活地控制输出。
| 作用 | |
|---|---|
{dede:field name='prelink'/} |
上一篇的完整 HTML 代码。 |
{dede:field name='nextlink'/} |
下一篇的完整 HTML 代码。 |
示例:
<div class="article-nav">
<div class="nav-left">
<span>上一篇:</span>
{dede:field name='prelink'/}
</div>
<div class="nav-right">
<span>下一篇:</span>
{dede:field name='nextlink'/}
</div>
</div>
默认输出格式(与 prenext 标签相同):
<a href="[链接地址]">[文章标题]</a>
相关文章标签
用于显示与当前文章相关的文章列表,通常基于关键词或栏目 ID。
基于关键词的相关文章(最常用)
<div class="related-article">
<h3>相关文章</h3>
<ul>
{dede:likearticle row='8' titlelen='30'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
</li>
{/dede:likearticle}
</ul>
</div>
likearticle 标签属性说明:
row='8':显示 8 条相关文章,len='30'`:标题长度限制为 30 个字符(一个汉字算一个字符)。typeid='':可以指定栏目 ID,如果留空则基于关键词。innertext='':可以自定义列表项的 HTML 模板。
自定义字段(附加字段)标签
如果你在后台文章模型中添加了自定义字段(如 price, video_url, editor 等),可以使用以下标签调用。
| 作用 | |
|---|---|
{dede:field.自定义字段名/} |
调用单个自定义字段的值。 |
{dede:field name='自定义字段名'/} |
另一种写法,效果相同。 |
示例:
假设后台添加了一个名为 price 的字段,类型为数字。
<p>价格:¥{dede:field.price/}</p>
<!-- 如果字段是文本,且需要判断是否为空 -->
{dede:field.name='editor' isnull='暂无编辑'}
<p>编辑:{dede:field.name='editor'/}</p>
{/dede:field}
isnull 属性用于判断字段是否为空,如果为空则显示 '暂无编辑'。
评论与互动标签
| 作用 | |
|---|---|
{dede:include filename='comment.htm'/} |
包含评论模板,这是调用评论区的标准方式。 |
{dede:field name='templeturl'/} |
当前模板目录,用于引用模板内的静态资源(如 CSS、JS、图片)。 |
循环与列表标签
页,虽然不常用,但有时也需要循环输出一些数据,比如文章内的图片集。
循环
如果你的文章是图片集类型,正文内容是 {dede:img} 标签,你可以用以下方式单独提取图片。
{dede:field name='imgurls' alt='图片描述'}
<a href="[field:imgsrc/]" title="[field:text/]">
<img src="[field:imgsrc/]" alt="[field:text/]">
</a>
{/dede:field}
这个标签会循环遍历文章中所有的 {dede:img} 标签,并输出相应的图片地址和描述。
实战:一个完整的内容页模板示例
下面是一个典型的 article_article.htm 模板结构,你可以根据这个结构进行修改。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">{dede:field.seotitle/}</title>
<meta name="keywords" content="{dede:field.keywords/}">
<meta name="description" content="{dede:field.description/}">
<link rel="stylesheet" href="{dede:field name='templeturl'/}/style.css">
</head>
<body>
<div class="container">
<!-- 文章标题 -->
<h1 class="article-title">{dede:field.title/}</h1>
<!-- 文章信息 -->
<div class="article-info">
<span>发布时间:{dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}</span>
<span>来源:{dede:field.source/}</span>
<span>作者:{dede:field.writer/}</span>
<span>阅读:{dede:field.click/}</span>
</div>
<!-- 文章正文 -->
<div class="article-content">
{dede:field.body/}
</div>
<!-- 上一篇/下一篇 -->
<div class="article-nav">
<div class="nav-left">
{dede:field name='prelink'/}
</div>
<div class="nav-right">
{dede:field name='nextlink'/}
</div>
</div>
<!-- 相关文章 -->
<div class="related-article">
<h3>相关文章</h3>
<ul>
{dede:likearticle row='5' titlelen='20'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:likearticle}
</ul>
</div>
<!-- 自定义字段示例 -->
{dede:field.name='editor' isnull=''}
<div class="article-editor">
<p>责任编辑:{dede:field.name='editor'/}</p>
</div>
{/dede:field}
<!-- 评论区域 -->
{dede:include filename='comment.htm'/}
</div>
</body>
</html>
总结与注意事项
- 标签语法:DedeCMS 标签通常以
{dede:...}开头,以{/dede:...}对于循环标签),或者以{dede:.../}对于单值标签)。 - 字段与函数:
{dede:field.xxx/}是调用文章的一个字段。function是对字段值进行处理的函数,如strftime用于格式化日期。 - 循环标签:
likearticle,arclist等是循环标签,它们内部使用[field:xxx/]来引用循环项中的字段。 - SEO 优化:务必使用
seotitle,keywords,description等标签,并确保后台填写了相应内容。 - 模板路径:使用
{dede:field name='templeturl'/}来获取当前模板的路径,这是保证资源(CSS, JS)能正确加载的最佳实践。
掌握以上这些标签,你就可以自由地构建和修改 DedeCMS 的内容页了。
