上一篇 下一篇 分享链接 返回 返回顶部

Dede标签怎么调用?常用写法和模板示例一次讲清

发布人:慈云数据-客服中心 发布时间:5小时前 阅读量:2

dede怎么调用标签:DedeCMS标签调用方法与常用示例详解

在使用 DedeCMS(织梦内容管理系统)搭建网站时,“标签调用”是非常核心的一项能力。很多站长在制作首页、栏目页、内容页、列表页、专题页时,都需要通过 Dede 标签来调用文章列表、栏目导航、当前位置、文章标题、缩略图、推荐内容、热门内容、友情链接等信息。掌握 DedeCMS 标签调用方法,可以让网站模板制作更加灵活,也能大幅提高建站效率。

本文将围绕“dede怎么调用标签”这一主题,系统介绍 DedeCMS 标签的基本概念、调用规则、常用标签写法、不同页面的调用技巧以及使用过程中常见问题,适合新手站长、模板制作者和正在学习织梦建站的人阅读。


一、什么是 DedeCMS 标签?

DedeCMS 标签,也常被称为“织梦标签”或“dede标签”,是 DedeCMS 模板系统中用于动态调用数据的一种语法。简单来说,你在模板文件中写入指定格式的标签,系统在生成页面或访问页面时,就会自动把数据库中的内容读取出来并显示到网页上。

例如,想在首页调用最新文章列表,可以使用:

{dede:arclist row='10' titlelen='40'}
  • [field:title/]
  • {/dede:arclist}

    这段代码的意思是:调用 10 篇文章,每篇文章标题长度限制为 40 个字符,并以列表形式输出文章链接和标题。

    DedeCMS 标签的优势在于:

    • 不需要直接写复杂的 PHP 代码;
    • 可以快速调用栏目、文章、图片、推荐内容等;
    • 模板结构清晰,便于维护;
    • 适合静态生成和动态调用;
    • 对新手相对友好。

    二、Dede 标签的基本语法结构

    DedeCMS 标签一般有两种形式:一种是单标签,一种是成对标签。

    1. 单标签

    单标签通常用于调用某个固定字段或系统信息,比如网站名称、当前位置、文章标题等。

    示例:

    {dede:global.cfg_webname/}

    表示调用网站名称。

    再比如内容页调用文章标题:

    {dede:field.title/}

    表示调用当前文章的标题。

    2. 成对标签

    成对标签一般用于循环调用多条数据,例如文章列表、栏目列表、友情链接等。

    示例:

    {dede:arclist row='5'}
    [field:title/]
    {/dede:arclist}

    其中:

    • {dede:arclist row='5'} 是开始标签;
    • {/dede:arclist} 是结束标签;
    • [field:title/] 表示调用文章标题字段;
    • [field:arcurl/] 表示调用文章链接字段。

    在成对标签中,[field:字段名/] 是非常常见的写法,用于输出循环中的具体字段值。


    三、DedeCMS标签调用的常见位置

    在 DedeCMS 中,不同页面模板会使用不同的标签。常见模板包括:

    页面类型 常见模板文件 常用标签
    首页 index.htm arclist、channel、flink、global
    栏目页 list_article.htm、list_image.htm list、pagelist、field
    内容页 article_article.htm field、prenext、likearticle
    头部模板 head.htm global、channel、type
    底部模板 footer.htm global、flink
    专题页 special.htm arclist、field

    一般来说,首页模板主要调用网站整体信息和推荐内容;栏目页主要调用当前栏目下的文章列表;内容页主要调用文章正文、标题、发布时间、作者、上一篇下一篇等信息。


    四、常用 Dede 标签调用方法

    下面介绍一些实际建站中最常用的 Dede 标签调用方式。


    五、调用网站基本信息

    1. 调用网站名称

    {dede:global.cfg_webname/}

    常用于网页标题、logo旁边、底部版权信息等位置。

    示例:

    {dede:global.cfg_webname/}

    2. 调用网站根目录

    {dede:global.cfg_basehost/}

    如果后台正确设置了站点根网址,这个标签可以调用网站主域名。

    3. 调用网站关键词

    {dede:global.cfg_keywords/}

    常用于首页 meta keywords。

    4. 调用网站描述

    {dede:global.cfg_description/}

    常用于首页 meta description。


    六、调用栏目导航标签

    网站头部导航通常需要调用栏目列表,可以使用 channel 标签。

    1. 调用顶级栏目

    {dede:channel type='top' row='8'}
    
  • [field:typename/]
  • {/dede:channel}

    参数说明:

    • type='top':调用顶级栏目;
    • row='8':调用 8 个栏目;
    • [field:typeurl/]:栏目链接;
    • [field:typename/]:栏目名称。

    2. 调用指定栏目下的子栏目

    {dede:channel type='son' typeid='1'}
    
  • [field:typename/]
  • {/dede:channel}

    其中 typeid='1' 表示调用 ID 为 1 的栏目下的子栏目。

    3. 调用当前栏目同级栏目

    {dede:channel type='self'}
    
  • [field:typename/]
  • {/dede:channel}

    这个写法通常用于栏目页侧边栏导航。


    七、调用文章列表标签 arclist

    arclist 是 DedeCMS 中使用频率最高的标签之一,用于调用文章、图文、推荐内容、热门内容等。

    1. 调用最新文章

    {dede:arclist row='10' orderby='pubdate' titlelen='40'}
    
  • [field:title/]
  • {/dede:arclist}

    说明:

    • row='10':调用 10 篇;
    • orderby='pubdate':按发布时间排序;
    • titlelen='40':标题长度限制为 40。

    2. 调用指定栏目文章

    {dede:arclist typeid='3' row='8' titlelen='36'}
    
  • [field:title/]
  • {/dede:arclist}

    其中 typeid='3' 表示调用栏目 ID 为 3 的文章。

    如果想调用多个栏目,可以写:

    {dede:arclist typeid='3,4,5' row='10'}
    
  • [field:title/]
  • {/dede:arclist}

    3. 调用带缩略图文章

    {dede:arclist row='6' typeid='2' imgwidth='200' imgheight='120'}
    
    {/dede:arclist}

    常用字段:

    • [field:litpic/]:缩略图;
    • [field:title/]:文章标题;
    • [field:arcurl/]:文章链接;
    • [field:description/]:文章摘要;
    • [field:pubdate function="MyDate('Y-m-d',@me)"/]:发布时间。

    4. 调用推荐文章

    DedeCMS 中文章可以设置推荐属性,调用推荐文章可以这样写:

    {dede:arclist flag='c' row='10' titlelen='40'}
    
  • [field:title/]
  • {/dede:arclist}

    常见 flag 属性包括:

    标识 含义
    c 推荐
    h 头条
    a 特荐
    f 幻灯
    s 滚动
    p 图片
    j 跳转

    不同版本和模板中使用习惯可能略有不同,但推荐、头条、图片属性是比较常用的。

    5. 调用热门文章

    {dede:arclist row='10' orderby='click' titlelen='40'}
    
  • [field:title/]
  • {/dede:arclist}

    orderby='click' 表示按照点击量排序。

    6. 调用随机文章

    {dede:arclist row='8' orderby='rand'}
    
  • [field:title/]
  • {/dede:arclist}

    随机文章适合用于“猜你喜欢”“随机推荐”等模块,但如果网站数据量很大,频繁随机查询可能影响性能,应谨慎使用。


    八、栏目页调用文章列表

    栏目页通常使用 list 标签,而不是 arclist。因为 list 标签可以自动调用当前栏目下的内容,并支持分页。

    示例:

    {dede:list pagesize='10' titlelen='50'}
    
  • [field:title/] [field:pubdate function="MyDate('Y-m-d',@me)"/]

    [field:description/]

  • {/dede:list}

    分页标签:

    {dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}

    说明:

    • pagesize='10':每页显示 10 篇;
    • titlelen='50':标题长度;
    • pagelist:输出分页导航;
    • listitem:控制显示首页、上一页、下一页、页码等;
    • listsize='5':显示页码数量。

    栏目页常见结构如下:

    
    
    
    {dede:pagelist listitem="index,pre,pageno,next,end" listsize="5"/}

    九、内容页调用标签

    内容页主要调用当前文章的字段信息,比如标题、正文、发布时间、作者、来源、点击量、上一篇下一篇等。

    1. 调用文章标题

    {dede:field.title/}

    2. 调用发布时间

    {dede:field.pubdate function="MyDate('Y-m-d H:i',@me)"/}

    3. 调用作者

    {dede:field.writer/}

    4. 调用来源

    {dede:field.source/}

    5. 调用文章正文

    {dede:field.body/}

    6. 调用文章点击量

    有些模板也会通过相关字段或脚本方式调用点击数,具体写法与版本、模板有关。

    7. 调用上一篇下一篇

    上一篇:{dede:prenext get='pre'/}
    下一篇:{dede:prenext get='next'/}

    如果希望输出更完整的结构,可以根据模板样式包裹 HTML:

    上一篇:{dede:prenext get='pre'/}

    下一篇:{dede:prenext get='next'/}

    8. 调用相关文章

    {dede:likearticle row='6' titlelen='40'}
    
  • [field:title/]
  • {/dede:likearticle}

    likearticle 一般根据关键词、栏目等规则调用相关文章,适合放在内容页底部,提高用户停留时间和内链效果。


    十、调用当前位置面包屑导航

    面包屑导航可以提升用户体验,也有利于搜索引擎理解页面结构。

    常用写法:

    当前位置:{dede:field name='position'/}

    或者:

    栏目页、内容页都可以使用该标签。


    十一、调用友情链接

    友情链接一般放在首页底部,可以使用 flink 标签。

    {dede:flink row='24' type='text'}
    [field:webname/]
    {/dede:flink}

    如果是图片友情链接:

    {dede:flink row='10' type='image'}
    
      [field:webname/]
    
    {/dede:flink}

    常用字段:

    • [field:webname/]:网站名称;
    • [field:url/]:友情链接地址;
    • [field:logo/]:友情链接图片。

    十二、调用单页内容

    如果网站中有“关于我们”“联系我们”“公司简介”等单页栏目,可以在模板中调用当前单页内容:

    {dede:field.content/}

    如果是在单页模板中,一般使用:

    {dede:field.title/}

    {dede:field.content/}

    需要注意的是,不同单页模型字段可能有所差异,有时也会使用 bodycontent,具体取决于模板和模型设置。


    十三、调用指定文章内容

    有时候首页需要调用某一篇固定文章的标题、摘要或链接,可以使用 arclist 指定文章 ID:

    {dede:arclist idlist='12'}
    

    [field:title/]

    [field:description/]

    {/dede:arclist}

    其中 idlist='12' 表示调用 ID 为 12 的文章。

    如果要调用多篇指定文章:

    {dede:arclist idlist='12,15,18'}
    
  • [field:title/]
  • {/dede:arclist}

    十四、调用文章摘要并限制长度

    调用摘要:

    [field:description/]

    如果想限制摘要长度,可以使用:

    [field:description function='cn_substr(@me,100)'/]

    示例:

    {dede:arclist row='5'}
    

    [field:title/]

    [field:description function='cn_substr(@me,120)'/]

    {/dede:arclist}

    这里 cn_substr(@me,120) 表示截取 120 个字符左右的中文内容。


    十五、调用时间并格式化

    DedeCMS 的时间字段通常是时间戳,需要用函数格式化。

    常见写法:

    [field:pubdate function="MyDate('Y-m-d',@me)"/]

    输出示例:

    2026-06-02

    如果需要显示年月日时分:

    [field:pubdate function="MyDate('Y-m-d H:i',@me)"/]

    如果在内容页调用当前文章发布时间:

    {dede:field.pubdate function="MyDate('Y-m-d H:i:s',@me)"/}

    十六、调用图片和缩略图

    文章列表中调用缩略图:

    [field:title/]

    完整示例:

    {dede:arclist row='4' flag='p'}
    
    {/dede:arclist}

    如果担心有些文章没有缩略图,可以在后台上传默认缩略图,或者在模板中通过 CSS/JS 做默认图处理。部分模板也会使用函数判断图片是否为空,但新手建议优先规范后台内容发布流程。


    十七、Dede标签中的常用参数说明

    arclist 为例,常用参数如下:

    参数 作用 示例
    row 调用数量 row='10'
    typeid 指定栏目ID typeid='3'
    titlelen 标题长度 titlelen='40'
    orderby 排序方式 orderby='pubdate'
    flag 文档属性 flag='c'
    imgwidth 图片宽度 imgwidth='200'
    imgheight 图片高度 imgheight='120'
    idlist 指定文章ID idlist='1,2,3'
    channelid 指定模型ID channelid='1'

    常见排序方式:

    orderby 值 含义
    pubdate 发布时间
    senddate 发布日期
    click 点击量
    id 文档ID
    rand 随机
    sortrank 排序级别

    如果你想让首页的新闻模块显示最新文章,一般用 orderby='pubdate';如果想做热门排行,则使用 orderby='click';如果做随机推荐,可以使用 orderby='rand'


    十八、Dede标签调用自定义字段

    如果你在 DedeCMS 后台为模型添加了自定义字段,也可以在模板中调用。

    假设自定义字段名为 price,在列表循环中可以这样写:

    [field:price/]

    在内容页可以这样写:

    {dede:field.price/}

    但是需要注意:某些情况下,arclist 默认不一定调用附加表字段。如果调用不到自定义字段,可能需要使用 addfieldschannelid 参数。

    示例:

    {dede:arclist row='10' channelid='1' addfields='price'}
    
  • [field:title/] 价格:[field:price/]
  • {/dede:arclist}

    这里:

    • channelid='1' 表示指定内容模型;
    • addfields='price' 表示调用附加字段 price

    如果有多个字段:

    addfields='price,color,size'

    十九、Dede标签调用不生效的常见原因

    很多新手会遇到“标签写了但页面没有显示”“调用出来为空”“样式错乱”等问题。常见原因如下。

    1. 模板文件没有生成

    如果网站使用静态生成,修改模板后需要重新生成对应页面。

    解决方法:

    • 修改首页模板后,生成首页;
    • 修改栏目页模板后,生成栏目;
    • 修改内容页模板后,生成文档;
    • 清理浏览器缓存后再查看。

    2. 标签写错或结束标签缺失

    成对标签必须有开始和结束,例如:

    {dede:arclist row='10'}
    ...
    {/dede:arclist}

    如果少了结束标签,页面可能解析异常。

    3. 字段写法错误

    在循环标签中通常使用:

    [field:title/]

    而在内容页直接调用字段时使用:

    {dede:field.title/}

    两者不能随意混用。

    4. 栏目 ID 写错

    调用指定栏目内容时,如果 typeid 写错,就会没有结果。

    可以进入后台栏目管理,查看栏目 ID 是否正确。

    5. 文章未审核或未生成

    DedeCMS 中文章通常需要审核后才会正常显示。如果文章是草稿、未审核,前台可能调用不到。

    6. 文档属性不匹配

    比如你调用推荐文章:

    {dede:arclist flag='c'}

    但后台没有给文章设置“推荐”属性,自然就没有内容显示。

    7. 缓存问题

    如果修改模板后前台仍然不变,可以尝试:

    • 清除系统缓存;
    • 重新生成静态页面;
    • 刷新 CDN 缓存;
    • 强制刷新浏览器缓存。

    二十、Dede标签调用的实用组合案例

    下面给出一个首页新闻模块的完整示例,包含栏目标题、更多链接、文章列表、时间和摘要。

    新闻动态

    更多
      {dede:arclist typeid='2' row='6' titlelen='42' orderby='pubdate'}
    • [field:title/] [field:pubdate function="MyDate('Y-m-d',@me)"/]

      [field:description function='cn_substr(@me,80)'/]

    • {/dede:arclist}

    图片推荐模块示例:

    {dede:arclist typeid='4' row='4' flag='p' titlelen='30'} {/dede:arclist}

    热门排行模块示例:

      {dede:arclist row='10' orderby='click' titlelen='36'}
    1. [field:title/]
    2. {/dede:arclist}

    二十一、使用 Dede 标签的优化建议

    1. 首页不要调用过多随机内容

    orderby='rand' 虽然方便,但在数据量大时会增加数据库压力。首页尽量少用随机调用。

    2. 合理控制调用数量

    不要一次调用几百篇文章。首页模块建议每个区域调用 5 到 12 条即可。

    3. 栏目页优先使用 list 标签

    栏目页需要分页时,尽量使用 list 标签配合 pagelist,不要用 arclist 强行调用大量内容。

    4. 注意图片尺寸

    缩略图调用后,最好用 CSS 控制尺寸,避免页面变形。同时后台上传图片时尽量保持统一比例。

    5. 规范栏目 ID 和模板结构

    制作模板时,可以先整理栏目 ID 表,避免后期调用混乱。公共头部和底部建议用 include 引入,便于统一维护。

    例如:

    {dede:include filename="head.htm"/}
    {dede:include filename="footer.htm"/}

    6. 重视 SEO 标签调用

    首页、栏目页、内容页的标题、关键词和描述要合理调用,避免大量页面标题重复。

    内容页标题示例:

    {dede:field.title/}_{dede:global.cfg_webname/}

    栏目页标题示例:

    {dede:field.seotitle/}_{dede:global.cfg_webname/}

    二十二、总结

    DedeCMS 标签调用并不复杂,关键是理解不同标签的用途和使用场景。简单来说:

    • 调用网站配置,用 global
    • 调用当前文章字段,用 field
    • 调用文章列表,用 arclist
    • 栏目页分页列表,用 listpagelist
    • 调用栏目导航,用 channel
    • 调用友情链接,用 flink
    • 调用相关文章,用 likearticle
    • 调用上一篇下一篇,用 prenext

    对于新手来说,学习 Dede 标签最好的方法就是从常用模块开始练习,比如导航、新闻列表、图文推荐、内容页正文、分页和友情链接。只要熟悉了标签结构、参数含义和字段写法,就可以快速完成大部分模板制作需求。

    在实际使用中,如果遇到标签不显示,优先检查模板是否生成、栏目 ID 是否正确、文章是否审核、标签是否闭合、字段名称是否写错。掌握这些排查方法后,DedeCMS 标签调用会变得非常高效。

    目录结构
    全文