核心概念
在开始之前,你需要了解几个核心概念,这能帮助你更好地理解和组合标签:

(图片来源网络,侵删)
{dede:}:这是所有织梦标签的开始和结束标记。- 标签属性:写在标签内部,用于控制查询条件和输出格式,如
typeid,row,titlelen等,多个属性用空格隔开。 - 底层模板:在
{dede:}和{/dede:}之间,可以使用常规的 HTML 和field变量来循环输出内容,这是最灵活的部分。 - 全局变量:可以直接在模板中使用的系统变量,如
{dede:global.cfg_webname/}(网站名称),{dede:field.title/}(当前页面标题)。
栏目调用标签
用于获取网站栏目的信息。
调用一级栏目
{dede:channel type='top' row='8'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
type='top': 只调用顶级栏目。row='8': 调用8个栏目。[field:typelink/]: 栏目链接。[field:typename/]: 栏目名称。
调用指定ID的子栏目
{dede:channel typeid='2'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
typeid='2': 调用ID为2的栏目的所有子栏目。
调用当前栏目的子栏目
常用于当前页面侧边栏。
{dede:channel type='son' noself='yes'}
<a href="[field:typelink/]">[field:typename/]</a>
{/dede:channel}
type='son': 调用当前栏目的子栏目。noself='yes': 不显示当前栏目本身。
文章内容调用标签
这是最常用、最核心的部分,用于调用文章列表、文章内容等。
调用指定栏目的文章列表
{dede:arclist typeid='1,3,5' row='10' titlelen='30' orderby='pubdate'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>[field:pubdate function="MyDate('Y-m-d', @me)"/]</span>
</li>
{/dede:arclist}
typeid='1,3,5': 调用指定ID的栏目下的文章,多个ID用逗号隔开。typeid='0'表示调用所有栏目。row='10': 调用10篇文章,len='30'`: 标题长度,30个字符(一个汉字算2个字符)。orderby='pubdate': 按发布时间排序,其他值:click(点击量),id(文章ID),sortrank(后台排序)。[field:arcurl/]: 文章链接。[field:title/]: 文章标题。[field:pubdate function="MyDate('Y-m-d', @me)"/]: 发布时间,使用function进行格式化。@me代表当前字段的原始值。
调用带图的文章列表
{dede:arclist row='4' titlelen='20'}
<div class="news-item">
<a href="[field:arcurl/]">
<img src="[field:picname/]" alt="[field:title/]" />
<h3>[field:title/]</h3>
</a>
</div>
{/dede:arclist}
[field:picname/]: 文章第一张图片的路径(需要文章内容中使用<img src="...">)。- 如果需要调用文章缩略图,通常需要修改标签或使用自定义模型。
调用当前栏目下的文章列表
{dede:arclist row='5' titlelen='40'}
<li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
{/dede:arclist}
不指定 typeid,系统会自动获取当前栏目ID。

(图片来源网络,侵删)
调用指定时间范围的文章
{dede:arclist row='10' subday='30'}
<li>[field:title/]</li>
{/dede:arclist}
subday='30': 调用30天内发布的文章。
调用带简介的文章列表
{dede:arclist row='5' titlelen='50' infolen='100'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<p>[field:description function='cn_substr(@me, 100)'/]...</p>
</li>
{/dede:arclist}
infolen='100': 简介长度。[field:description/]: 文章简介。cn_substr()是一个常用的截取字符串函数。
调用随机文章
{dede:arclist row='6' orderby='rand'}
<a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
orderby='rand': 随机排序。
文章页内调用标签
这些标签通常用在文章内容页模板 (article_article.htm)。
、时间、来源等
<h1>{dede:field.title/}</h1>
<p>
发布时间:{dede:field.pubdate function="MyDate('Y-m-d H:i', @me)"/} |
来源:{dede:field.source/} |
作者:{dede:field.writer/} |
点击:{dede:field.click/}
</p>
{dede:field.xxx/}: 调用当前文章的某个字段。
{dede:field.body/}
直接输出文章正文内容。
上一篇/下一篇
<div class="prenext">
<span>上一篇:{dede:prenext get='pre'/}</span>
<span>下一篇:{dede:prenext get='next'/}</span>
</div>
get='pre': 上一篇。get='next': 下一篇。
相关文章
{dede:likearticle row='8' titlelen='24'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}
- 根据当前文章的关键字自动查找相关文章。
其他常用内容模型调用
图集调用
{dede:imglist row='4'}
<a href="[field:imgurl/]">
<img src="[field:imgsrc/]" alt="[field:text/]" />
</a>
{/dede:imglist}
[field:imgurl/]: 单个图片的链接(通常为原图)。[field:imgsrc/]: 单个图片的缩略图路径。[field:text/]: 图片说明。
软件调用
{dede:soft row='5'}
<li>
<a href="[field:arcurl/]">[field:title/]</a>
<span>大小:[field:filesize/]</span>
</li>
{/dede:soft}
[field:filesize/]: 软件文件大小。
全局与页面调用标签
网站基本信息
{dede:global.cfg_webname/} <!-- 网站名称 -->
{dede:global.cfg_weburl/} <!-- 网站网址 -->
{dede:global.cfg_powerby/} <!-- 网页底部版权信息 -->
{dede:global.cfg_beian/} <!-- 网站备案号 -->
当前页面信息
-
*列表页 (`list_.htm`)**
{dede:field.title/} <!-- 当前栏目名称 --> {dede:pagelist listsize='4'/} <!-- 分页条 --> -
*文章页 (`article_.htm`)**
(图片来源网络,侵删){dede:field.title/} <!-- 文章标题 --> {dede:field.title function='html2text(@me)'/} <!-- 过滤HTML标签后的标题,用于SEO --> {dede:pagelist listsize='4'/} <!-- 分页条(用于长文章分页) -->
搜索表单
<form action="{dede:global.cfg_cmspath/}/plus/search.php" name="searchform">
<input type="hidden" name="kwtype" value="0" />
<input type="text" name="q" placeholder="请输入关键字" />
<button type="submit">搜索</button>
</form>
高级与实用技巧
自循环标签
可以在一个栏目列表中,循环调用每个栏目下的文章。
{dede:channel type='top' row='8'}
<h2>[field:typename/]</h2>
<ul>
{dede:arclist typeid='[field:id row='5']'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
{/dede:channel}
注意:这种写法在旧版织梦中可能需要开启channelartlist标签功能,新版织梦支持直接在channel标签内嵌套arclist。
条件判断 if
{dede:field name='typeid' runphp='yes'}
if(@me == 1) {
echo "这是首页的专属内容";
} else {
echo "这是其他页面的内容";
}
{/dede:field}
runphp='yes': 允许在标签内执行PHP代码。@me代表当前字段的值。
自定义函数
在模板中调用自定义的PHP函数,如上面提到的日期格式化 MyDate()。
[field:pubdate function="MyDate('Y-m-d H:i:s', @me)"/]
标签速查表
| 标签名称 | 简要说明 | 常用属性 |
|---|---|---|
{dede:channel} |
调用栏目列表 | typeid, type='top', row, name='style' |
{dede:arclist} |
调用文章列表 | typeid, row, titlelen, infolen, orderby, subday |
{dede:field} |
调用当前页文章/栏目字段 | name='title', function='...' |
{dede:prenext} |
上一篇/下一篇 | get='pre'/'next' |
{dede:likearticle} |
调用相关文章 | row, titlelen |
{dede:imglist} |
调用图集列表 | row |
{dede:soft} |
调用软件列表 | row |
{dede:pagelist} |
分页条 | listsize, listitem |
{dede:global} |
调用全局变量 | cfg_webname, cfg_weburl |
{dede:include} |
包含其他文件 | filename='head.htm' |
希望这份大全能帮助你高效地使用织梦CMS!如果你有更具体的需求,可以结合这些标签进行组合和修改。
