dede标签如何修改?

99ANYc3cd6
预计阅读时长 16 分钟
位置: 首页 DEDE建站 正文
  1. 修改标签的调用方式参数(最常见):这是绝大多数用户需要做的,比如修改首页文章列表显示数量、修改标题长度等。
  2. 修改标签的底层代码(需要PHP开发能力):比如你想修改 {dede:arclist} 标签本身的逻辑,增加一个它没有的功能。

下面我将详细说明这两种情况,并提供最常用标签的修改位置。

dede标签在哪里修改
(图片来源网络,侵删)

修改标签的调用方式和参数(无需编程)

这是最安全、最常用的方法,你只需要在需要显示内容的模板文件(.htm 文件)中找到对应的标签,然后修改它的属性即可。

第一步:找到存放模板的文件夹

DedeCMS的网站模板都存放在 /templets/ 目录下,这个目录通常包含:

  • /default/:默认模板文件夹,里面又分 index.htm (首页), list_*.htm (列表页), article_*.htm (文章页) 等。
  • /plus/:一些独立页面的模板,如 /plus/feedback_templet.htm (评论页)。
  • /your_custom_folder/:你自己创建的模板文件夹。

你需要修改哪个页面的内容,就打开对应的模板文件。

第二步:在模板文件中找到并修改标签

打开对应的 .htm 文件,用代码编辑器(如 VS Code, Sublime Text, Notepad++ 等)搜索你想要修改的标签,{dede:arclist}

dede标签在哪里修改
(图片来源网络,侵删)

下面是几个最常用标签的修改示例:

示例1:修改首页文章列表 ({dede:arclist})

假设你想修改首页文章列表的显示数量、标题长度和是否有“阅读更多”链接。

原始标签可能长这样:

{dede:arclist row='10' titlelen='40'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:arclist}

修改后:

dede标签在哪里修改
(图片来源网络,侵删)
{dede:arclist row='20' titlelen='30' infolen='100'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
        <p>[field:info/]... <a href="[field:arcurl/]">[查看详情]</a></p>
    </li>
{/dede:arclist}

修改说明:

  • row='10' 改为 row='20':显示的文章数量从10篇增加到20篇,len='40'改为titlelen='30'`:文章标题显示长度从40个字符减少到30个字符。
  • 增加了 infolen='100':截取文章内容摘要100个字符。
  • <li> 内部增加了显示摘要和“查看详情”链接的HTML代码。

常用属性:

  • row:返回文档列表总数。
  • col:分多少列显示(默认为单列),len`:标题长度。
  • infolen简介长度。
  • orderby:排序方式,如 click (按点击量), pubdate (按发布日期), id (按文章ID)。
  • channelid:指定频道ID。

示例2:修改网站标题 ({dede:global})

通常在 head 区域,head.htm 文件中。

原始标签可能长这样:

修改后:,以利于SEO。

常用全局变量:

  • {dede:global.cfg_webname/}:网站名称。
  • {dede:global.cfg_weburl/}:网站首页URL。
  • {dede:global.cfg_powerby/}:版权信息。
  • {dede:global.cfg_adminemail/}:管理员邮箱。

示例3:修改栏目名称 ({dede:field})

栏目名称通常在列表页模板 list_*.htm 或文章页模板 article_*.htm 的标题部分。

原始标签可能长这样:

修改后:

修改说明:

  • {dede:field.title/} 获取的是栏目名称。
  • {dede:field.seotitle/} 获取的是栏目的SEO标题(在后台“栏目管理”-“高级选项”里设置),通常更利于搜索引擎优化。

修改标签的底层代码(需要PHP开发能力)

如果你发现默认标签无法满足你的需求,需要修改其核心功能,那么你需要修改PHP文件。

警告: 直接修改核心文件有风险!升级DedeCMS时,你的修改可能会被覆盖,建议修改前先备份文件,并使用“二次开发”的方式(如覆盖文件、修改函数名等)。

找到标签的解析文件

DedeCMS的标签引擎会调用特定的PHP类来解析每个标签,这些类文件通常位于 /include/taglib/ 目录下。

  • {dede:arclist} 对应 /include/taglib/arclist.lib.php
  • {dede:channel} 对应 /include/taglib/channel.lib.php
  • {dede:field} 对应 /include/taglib/field.lib.php
  • {dede:global} 对应 /include/taglib/global.lib.php

修改PHP文件

以修改 {dede:arclist} 为例,假设你想给它增加一个 myorder 排序参数。

步骤:

  1. 打开 /include/taglib/arclist.lib.php 文件。
  2. 找到处理 orderby 参数的代码段,通常在一个 switch 语句中。
  3. switch 语句中增加一个新的 case

原始代码片段可能类似:

// ... 省略其他代码 ...
switch($orderby){
    case 'hot':
        $ordersql = " ORDER BY arc.click DESC ";
        break;
    case 'pubdate':
    case 'senddate':
        $ordersql = " ORDER BY arc.senddate DESC ";
        break;
    case 'id':
        $ordersql = " ORDER BY arc.id DESC ";
        break;
    // ... 其他case ...
    default:
        $ordersql = " ORDER BY arc.sortrank DESC ";
}
// ... 省略其他代码 ...

修改后,增加 myorder 选项:

// ... 省略其他代码 ...
switch($orderby){
    case 'hot':
        $ordersql = " ORDER BY arc.click DESC ";
        break;
    case 'pubdate':
    case 'senddate':
        $ordersql = " ORDER BY arc.senddate DESC ";
        break;
    case 'id':
        $ordersql = " ORDER BY arc.id DESC ";
        break;
    case 'myorder': // 新增的排序方式
        $ordersql = " ORDER BY arc.myorder_field DESC "; // 假设你的自定义字段是 myorder_field
        break;
    // ... 其他case ...
    default:
        $ordersql = " ORDER BY arc.sortrank DESC ";
}
// ... 省略其他代码 ...

使用: 修改后,你就可以在模板中这样使用了:

{dede:arclist orderby='myorder' ...}
    ...
{/dede:arclist}

总结与建议

修改目标 修改位置 是否需要编程 风险等级
修改列表显示数量、标题长度 /templets/ 下的对应 .htm 模板文件
修改网站标题、版权信息 /templets/ 下的 head.htm 或全局文件
修改栏目名称、文章标题 /templets/ 下的 list_*.htmarticle_*.htm
修改标签的核心功能(如增加新参数) /include/taglib/ 下的对应 .lib.php 文件 高(升级会覆盖)

给新手的建议:

  1. 先从修改模板文件开始,这是最安全、最直接的方法。
  2. 不要害怕修改模板,只要你修改前备份了原始文件,随时可以恢复。
  3. 学习DedeCMS标签手册,了解每个标签有哪些可用属性,能帮你解决大部分问题。
  4. 除非必要,否则不要轻易修改核心PHP文件,如果确实需要,请先搜索是否有现成的二次开发方案或插件。
-- 展开阅读全文 --
头像
织梦后台模板路径怎么找?
« 上一篇 03-04
织梦文章外链批量中转怎么实现高效搭建?
下一篇 » 03-04

相关文章

取消
微信二维码
支付宝二维码

目录[+]