菜鸟科技网

织梦5.7标签怎么用?

织梦5.7(DedeCMS V5.7)作为一款国内广泛使用的开源内容管理系统,其标签系统是模板开发的核心,通过调用标签实现动态数据的展示,掌握织梦标签的使用方法,能够高效地构建灵活的网站页面,以下从标签基础语法、常用分类、实战案例及注意事项等方面详细说明。

织梦5.7标签怎么用?-图1
(图片来源网络,侵删)

织梦标签基础语法

织梦标签由大括号和包围,基本语法结构为:{标签名称 属性='值' /}{标签名称 属性='值'}...{/标签名称},标签名称表示调用的功能模块,属性则用于限定调用的条件、数量、排序等,斜杠表示单标签(无需闭合),而内容包裹型标签则需要{/标签名称}闭合。{dede:arclist titlelen='20' row='5'}是调用文章列表的单标签形式,而{dede:field name='title'/}是调用文章标题的单标签。

常用标签分类及使用方法

文章列表类标签

文章列表是网站最常用的内容模块,主要通过{dede:arclist}标签实现,常用属性包括:

  • typeid:指定栏目ID,多个ID用逗号分隔,如typeid='1,3'表示调用栏目ID为1和3下的文章。
  • row:调用文章数量,如row='10'表示显示10篇文章,len字符长度,如titlelen='30'`表示标题最多显示30个字符(中文15个,英文30个)。
  • infolen:摘要字符长度,如infolen='100'表示摘要最多显示100个字符。
  • orderby:排序方式,可选click(按点击量)、pubdate(按发布时间)、id(按文章ID)等,如orderby='click'表示按点击量降序排列。
  • idlist:指定文章ID列表,如idlist='5,8,12'表示只调用ID为5、8、12的文章。

示例代码:

{dede:arclist typeid='2' row='6' titlelen='20' orderby='pubdate'}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
        <span>[field:pubdate function="MyDate('Y-m-d',@me)"/]</span>
    </li>
{/dede:arclist}

[field:arcurl/]表示文章链接,[field:title/]表示文章标题,[field:pubdate/]为发布时间,通过function属性可对时间格式化,如MyDate('Y-m-d',@me)将时间格式化为“年-月-日”。

织梦5.7标签怎么用?-图2
(图片来源网络,侵删)

页标签页用于展示单篇文章的详细信息,常用标签包括:

  • {dede:field name='title'/}
  • {dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S",@me)'/}:发布时间(支持自定义格式)。
  • {dede:field name='body'/}:文章正文内容。
  • {dede:field name='source'/}:文章来源。
  • {dede:field name='writer'/}:文章作者。
  • {dede:likearticle}:相关文章标签,可指定数量和排序。

示例代码:

<h1>{dede:field name='title'/}</h1>
<div class="info">
    发布时间:{dede:field name='pubdate' function='strftime("%Y-%m-%d",@me)'/} 
    作者:{dede:field name='writer'/} 
    来源:{dede:field name='source'/}
</div>
<div class="content">
    {dede:field name='body'/}
</div>

栏目标签

栏目标签用于调用栏目信息,常用标签为{dede:channel},属性包括:

  • typeid:指定栏目ID,如typeid='top'表示调用顶级栏目。
  • row:调用栏目数量,如row='8'
  • type:栏目类型,son表示下级栏目,self表示当前栏目。

示例代码:

{dede:channel type='top' row='8'}
    <a href="[field:typeurl/]">[field:typename/]</a>
{/dede:channel}

[field:typeurl/]为栏目链接,[field:typename/]为栏目名称。

织梦5.7标签怎么用?-图3
(图片来源网络,侵删)

搜索表单标签

搜索功能通过{dede:global name='keyword'/}获取搜索关键词,{dede:search}生成搜索表单,示例:

<form action="{dede:global name='cfg_phpurl'/}/search.php" method="get">
    <input type="text" name="keyword" value="{dede:global name='keyword'/}" placeholder="请输入关键词">
    <button type="submit">搜索</button>
</form>

分页标签

分页标签{dede:pagelist}通常用于列表页,常用属性:

  • listsize:列表显示的页码数量,如listsize='5'
  • listitem:显示的项目,如listitem='info,index,end,pre,next'

示例代码:

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

标签使用注意事项

  1. 标签嵌套:织梦标签不支持无限嵌套,通常建议嵌套不超过3层,否则可能导致页面渲染异常。
  2. 属性值格式:属性值需用单引号或双引号包裹,如row='10',若属性值包含引号,需转义为或。
  3. 自定义函数:部分标签支持function属性调用自定义函数,需在/include/helpers/目录下定义函数,并在/include/common.inc.php中引入。
  4. 缓存机制:织梦默认开启标签缓存,修改标签后需在后台“生成”->“更新HTML”中刷新缓存,否则看不到效果。

标签属性参数速查表

标签名称 常用属性 说明
{dede:arclist} typeid, row, titlelen, orderby 调用文章列表
{dede:field} name 调用文章或栏目的单一字段(如标题)
{dede:channel} typeid, row, type 调用栏目列表
{dede:pagelist} listsize, listitem 生成分页导航
{dede:search} 生成搜索表单

相关问答FAQs

问题1:为什么调用文章列表时,部分文章不显示?
解答:可能原因包括:① typeid属性指定的栏目ID不存在或无文章;② row属性设置过小,导致被截断;③ 文章被设置为“仅会员可见”或“未审核”,需在后台检查文章状态,建议先简化标签属性(如仅保留typeidrow),逐步排查问题。

问题2:如何调用指定时间范围内的文章?
解答:可通过{dede:arclist}startdateenddate属性实现,例如调用2023年1月1日至2023年12月31日的文章:

{dede:arclist startdate='20230101' enddate='20231231' row='10'}
    [field:title]<br>
{/dede:arclist}

startdateenddate需为8位数字格式(YYYYMMDD),表示起始和结束日期。

分享:
扫描分享到社交APP
上一篇
下一篇