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

Dede标签怎么调用?常用写法、列表调用与模板实战整理

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

dede怎么调用标签:DedeCMS常用标签调用方法与实战示例

DedeCMS(织梦内容管理系统)是国内使用较早、应用范围较广的一套开源CMS系统,很多企业站、资讯站、下载站、门户站都曾经或仍在使用它。对于DedeCMS模板制作来说,最核心的能力之一就是标签调用。所谓“调用标签”,简单理解就是:通过DedeCMS提供的模板标签,把栏目、文章、图片、友情链接、当前位置、分页、搜索结果等内容动态输出到网页中。

很多新手在修改Dede模板时,经常会遇到这样的问题:
“首页文章列表怎么调用?”
“栏目页怎么调用当前栏目的文章?”
“内容页标题、时间、作者怎么显示?”
“如何调用指定栏目的推荐文章?”
“dede标签写了为什么不生效?”

本文将围绕“dede怎么调用标签”这个主题,系统介绍DedeCMS常用标签的基本写法、调用规则、实战示例以及常见问题,帮助你更快掌握DedeCMS模板开发。


一、DedeCMS标签调用的基本概念

DedeCMS模板标签通常写在HTML模板文件中,例如:

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

    这段代码的作用是调用10篇文章,并输出文章标题和链接。

    DedeCMS标签大致可以分为两类:

    1. 块级标签

    块级标签通常有开始标签和结束标签,中间可以嵌套HTML代码以及字段标签,例如:

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

    常见块级标签包括:

    • {dede:arclist}:文章列表调用
    • {dede:channel}:栏目列表调用
    • {dede:flink}:友情链接调用
    • {dede:loop}:自定义SQL循环调用
    • {dede:list}:栏目列表分页调用

    2. 单标签

    单标签通常用于直接输出某个固定内容,不需要结束标签,例如:

    {dede:global.cfg_webname/}

    常见单标签包括:

    • {dede:global.cfg_webname/}:网站名称
    • {dede:field.title/}:当前页面标题
    • {dede:field name='position'/}:当前位置
    • {dede:field.pubdate function='strftime("%Y-%m-%d",@me)'/}:发布时间

    二、DedeCMS标签调用的基本语法

    Dede标签一般采用如下格式:

    {dede:标签名 属性1='值1' 属性2='值2'}
        输出内容
    {/dede:标签名}

    例如:

    {dede:arclist typeid='1' row='5' titlelen='30'}
        
  • [field:title/]
  • {/dede:arclist}

    其中:

    • dede:arclist 是标签名称,表示调用文章列表;
    • typeid='1' 表示调用栏目ID为1的文章;
    • row='5' 表示调用5条;
    • titlelen='30' 表示标题长度限制为30;
    • [field:arcurl/] 表示文章链接;
    • [field:title/] 表示文章标题。

    需要注意的是,DedeCMS标签中的属性值一般使用英文单引号或双引号,建议统一使用英文单引号,避免中文符号导致标签无法解析。


    三、调用网站基本信息标签

    在DedeCMS模板中,经常需要调用网站名称、网站关键词、网站描述等全局信息。这些信息一般在后台“系统基本参数”中设置。

    1. 调用网站名称

    {dede:global.cfg_webname/}

    示例:

    {dede:global.cfg_webname/}

    2. 调用网站关键词

    {dede:global.cfg_keywords/}

    示例:

    3. 调用网站描述

    {dede:global.cfg_description/}

    示例:

    4. 调用网站根目录

    {dede:global.cfg_cmsurl/}

    如果网站安装在根目录,该值通常为空;如果安装在子目录,则会输出对应目录路径。


    四、调用栏目导航标签

    网站导航通常需要调用栏目列表,DedeCMS可以使用 {dede:channel} 标签实现。

    1. 调用顶级栏目

    参数说明:

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

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

    这里 typeid='3' 表示调用栏目ID为3的子栏目。

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

    type='self' 常用于栏目页侧边栏,用来显示当前栏目的同级分类。


    五、调用文章列表标签:arclist

    {dede:arclist} 是DedeCMS中使用频率最高的标签之一,主要用于调用文章、图集、软件等文档列表。

    1. 调用最新文章

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

    说明:

    • row='10':调用10篇;
    • titlelen='36':标题最多显示36个字符;
    • orderby='pubdate':按发布时间排序。

    2. 调用指定栏目的文章

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

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

    3. 调用带缩略图的文章

    {dede:arclist row='6' typeid='2' titlelen='30'}
    
    [field:title/]

    [field:title/]

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

    {/dede:arclist}

    常用字段说明:

    • [field:title/]:文章标题;
    • [field:arcurl/]:文章链接;
    • [field:litpic/]:文章缩略图;
    • [field:description/]:文章摘要;
    • [field:pubdate/]:发布时间;
    • [field:click/]:点击量;
    • [field:writer/]:作者。

    4. 调用推荐文章

    DedeCMS文章可以设置属性,例如推荐、头条、图片、幻灯等。常用属性通过 flag 参数调用。

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

    常见 flag 值包括:

    属性 含义
    h 头条
    c 推荐
    f 幻灯
    a 特荐
    p 图片
    j 跳转

    例如调用带图片属性的文章:

    {dede:arclist row='4' flag='p'}
        [field:title/]
    {/dede:arclist}

    5. 调用热门文章

    热门文章通常按点击量排序:

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

    6. 调用随机文章

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

    随机文章适合用于“猜你喜欢”“随机推荐”等模块,但不建议在页面大量使用,否则可能影响生成速度。


    六、栏目页文章分页调用:list标签

    在栏目列表页中,通常使用 {dede:list} 调用当前栏目下的文章,并配合分页标签使用。

    1. 栏目页文章列表

      {dede:list pagesize='10' titlelen='50'}
    • [field:title/]

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

      [field:pubdate function='strftime("%Y-%m-%d",@me)'/]
    • {/dede:list}

    参数说明:

    • pagesize='10':每页显示10条;
    • titlelen='50':标题长度;
    • [field:description/]:文章摘要;
    • [field:pubdate/]:发布时间。

    2. 调用分页

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

    分页参数说明:

    • info:分页信息;
    • index:首页;
    • end:末页;
    • pre:上一页;
    • next:下一页;
    • pageno:页码;
    • listsize='5':显示页码数量。

    完整栏目页示例:

    需要注意:{dede:list} 通常用于栏目页模板,不能随意放到首页模板中使用。首页调用文章列表一般用 {dede:arclist}


    七、内容页常用标签调用

    内容页用于显示单篇文章详情,常用标签包括标题、正文、作者、来源、时间、点击量、上一篇、下一篇等。

    1. 调用文章标题

    {dede:field.title/}

    示例:

    {dede:field.title/}

    2. 调用发布时间

    {dede:field.pubdate function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}

    如果只显示年月日:

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

    3. 调用作者

    {dede:field.writer/}

    4. 调用来源

    {dede:field.source/}

    5. 调用文章正文

    {dede:field.body/}

    示例:

    {dede:field.body/}

    6. 调用文章摘要

    {dede:field.description/}

    7. 调用文章缩略图

    {dede:field.title/}

    8. 调用上一篇、下一篇

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

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

    如果没有上一篇或下一篇,系统通常会输出默认提示。


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

    当前位置可以帮助用户了解所在页面层级,也有利于SEO优化。

    {dede:field name='position'/}

    示例:

    一般会输出类似:

    主页 > 新闻中心 > 公司新闻 >

    如果想修改“主页”的文字或分隔符,需要到系统文件或相关配置中调整,或者通过模板结构自行处理。


    九、调用友情链接

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

    如果是图片友情链接:

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

    参数说明:

    • row:调用数量;
    • type='text':文字链接;
    • type='image':图片链接;
    • [field:link/]:输出完整链接HTML。

    十、调用广告标签

    DedeCMS可以通过广告管理添加广告,然后在模板中调用广告位。

    常见调用方式:

    {dede:myad name='index_banner'/}

    其中 index_banner 是广告标识。你需要先在后台广告管理中添加广告,并设置对应标识。

    示例:

    如果广告不显示,通常需要检查:

    1. 广告标识是否正确;
    2. 广告是否启用;
    3. 广告时间是否过期;
    4. 页面是否重新生成。

    十一、使用include调用公共模板

    在制作DedeCMS模板时,通常会将头部、底部、侧边栏等公共部分拆分为独立模板文件,然后通过 {dede:include} 调用。

    1. 调用头部模板

    {dede:include filename='head.htm'/}

    2. 调用底部模板

    {dede:include filename='footer.htm'/}

    3. 调用侧边栏模板

    {dede:include filename='sidebar.htm'/}

    这样做的好处是方便维护。如果网站导航或底部信息需要修改,只需要改公共模板文件即可,不必每个页面都单独修改。


    十二、自定义SQL调用:loop标签

    如果系统内置标签无法满足需求,可以使用 {dede:loop} 自定义SQL查询。该方式适合有一定数据库基础的用户。

    示例:调用最新10篇文章标题。

      {dede:loop table='dede_archives' sort='id' row='10' if=''}
    • [field:title/]
    • {/dede:loop}

    不过需要注意,自定义SQL调用要谨慎使用,尤其不要直接拼接用户输入参数,避免安全风险。同时,DedeCMS不同版本、不同表前缀可能有所差异,表名不一定都是 dede_ 开头。

    在一般模板制作中,优先使用系统内置标签,例如 arclistchannellist 等。只有在特殊需求下,才建议使用SQL调用。


    十三、常用字段标签汇总

    {dede:arclist}{dede:list} 等循环标签中,经常会用到 [field:xxx/] 形式的字段标签。下面是一些常用字段:

    字段标签 作用
    [field:id/] 文档ID
    [field:title/] 标题
    [field:fulltitle/] 完整标题
    [field:arcurl/] 文章链接
    [field:typeid/] 栏目ID
    [field:typename/] 栏目名称
    [field:typeurl/] 栏目链接
    [field:litpic/] 缩略图
    [field:description/] 摘要
    [field:pubdate/] 发布时间
    [field:senddate/] 更新或发布时间
    [field:click/] 点击量
    [field:writer/] 作者
    [field:source/] 来源

    如果想格式化时间,可以这样写:

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

    如果想截取摘要,可以这样写:

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

    十四、常用调用场景实战

    1. 首页新闻模块调用

    新闻中心

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

    2. 首页产品展示调用

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

    3. 侧边栏热门文章调用

    4. 内容页相关文章调用

    likearticle 通常用于内容页,根据当前文章相关信息调用相关文章。


    十五、Dede标签不生效的常见原因

    很多人在使用Dede标签时会遇到标签原样输出、页面没有变化、数据不显示等问题。常见原因如下。

    1. 模板文件放错位置

    DedeCMS模板一般位于:

    /templets/模板目录/

    如果模板文件没有放到当前启用模板目录中,修改后自然不会生效。

    2. 没有重新生成静态页面

    DedeCMS很多页面是静态生成的。修改模板后,需要到后台重新生成:

    • 生成首页;
    • 生成栏目页;
    • 生成文档页;
    • 更新缓存。

    如果只修改模板但不生成,前台页面可能仍然显示旧内容。

    3. 标签写法错误

    例如:

    {dede:arclist row=10}

    建议写成:

    {dede:arclist row='10'}

    属性值最好加引号,标签结束也要正确:

    {/dede:arclist}

    4. 栏目ID写错

    调用指定栏目时,如果 typeid 不存在,可能无法输出内容。

    {dede:arclist typeid='999' row='5'}

    如果栏目ID为999不存在,自然没有数据。

    5. 栏目下没有文章

    即使标签正确,如果栏目下没有发布文章,或文章未审核,也可能无法显示。

    6. 文档属性不符合

    例如你使用:

    {dede:arclist flag='c' row='5'}

    但文章没有设置“推荐”属性,就不会被调用出来。

    7. 缓存问题

    有时浏览器缓存或系统缓存会导致页面不更新,可以尝试:

    • 清理浏览器缓存;
    • 后台更新系统缓存;
    • 重新生成页面;
    • 检查是否访问了正确的静态文件。

    十六、Dede标签调用的SEO建议

    合理使用DedeCMS标签,不仅能提高模板制作效率,也有助于网站SEO。

    1. 标题标签要规范

    首页标题可写为:

    {dede:global.cfg_webname/}

    栏目页标题可写为:

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

    内容页标题可写为:

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

    2. 每个页面设置关键词和描述

    内容页可以调用文章关键词和摘要:

    
    

    3. 合理调用相关文章

    内容页底部调用相关文章,可以增加内链:

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

    4. 避免首页堆砌过多调用

    首页如果调用过多模块,可能会影响生成速度和页面加载体验。建议根据网站重点栏目合理布局,不要无限制调用大量文章。


    十七、Dede标签调用最佳实践

    为了让模板更加稳定、易维护,建议遵循以下几点:

    1. 公共部分使用include调用
      头部、底部、导航、侧边栏建议拆分成公共模板。

    2. 列表调用明确typeid
      首页模块最好指定栏目ID,避免内容混乱。

    3. 标题长度统一控制
      使用 titlelen 控制标题长度,避免布局错乱。

    4. 图片调用要设置默认图
      如果文章没有缩略图,前台可能出现图片裂开。可以在发布文章时统一上传缩略图,或在模板中做默认图处理。

    5. 减少复杂SQL调用
      能用系统标签解决的,不建议大量使用自定义SQL。

    6. 修改模板后及时生成静态页
      这是DedeCMS模板修改后最常见的遗漏点。

    7. 注意安全与版本问题
      DedeCMS历史版本存在较多安全风险,建议使用经过安全加固的版本,并关闭不必要的功能和入口。


    十八、总结

    DedeCMS标签调用是模板制作的基础能力。掌握了常用标签后,你就可以灵活地制作首页、栏目页、内容页以及各种专题页面。对于新手来说,最重要的是先熟悉以下几个标签:

    • {dede:global/}:调用网站全局配置;
    • {dede:channel}:调用栏目导航;
    • {dede:arclist}:调用文章列表;
    • {dede:list}:栏目页分页列表;
    • {dede:field/}:调用当前页面字段;
    • {dede:pagelist}:调用分页;
    • {dede:include}:调用公共模板;
    • {dede:flink}:调用友情链接;
    • {dede:myad}:调用广告;
    • {dede:prenext}:调用上一篇、下一篇。

    如果你只是想实现普通企业站或资讯站模板,基本掌握 channelarclistlistfieldinclude 这几个标签,就已经能够完成大部分页面制作。实际使用时,建议一边查看DedeCMS官方标签说明,一边结合模板文件调试。只要理解了标签结构、参数含义和调用场景,DedeCMS标签调用并不复杂。

    目录结构
    全文