dede tag模板文件存放在网站哪个目录?

99ANYc3cd6
预计阅读时长 14 分钟
位置: 首页 DEDE建站 正文

Tag 模板主要分为两类:

dede tag模板在哪里
(图片来源网络,侵删)
  1. Tag列表页模板:当用户点击一个标签(点击这里),进入展示所有包含该标签的文章列表页面时,使用的模板。

    • 文件位置/templets/default/taglist.htm
  2. Tag关联模板:在文章内容页(article_article.htm)中,用于展示当前文章所有标签的模板片段。

    • 文件位置:这个通常不是一个独立文件,而是内嵌在文章内容页模板 (article_article.htm) 里的一个特定代码块。

Tag列表页模板 (taglist.htm)

这个模板决定了当你点击一个标签后,跳转到的那个页面长什么样子。

文件位置

默认情况下,这个模板文件位于:

dede tag模板在哪里
(图片来源网络,侵删)
你的网站根目录/
└── templets/
    └── default/
        └── taglist.htm
  • templets/:存放所有网站模板的目录。
  • default/:当前正在使用的模板文件夹,如果你使用的是其他模板(mb/),那么路径就是 /templets/mb/taglist.htm

如何修改和自定义

taglist.htm 的结构和普通的列表页模板(如 list_article.htm)非常相似,你可以通过修改它来改变标签列表页的样式。

常用的模板标签(标签)说明:

  • {dede:tagname}:当前标签的名称。
  • {dede:tag}:这是一个循环标签,用于列出所有包含当前标签的文章。
    • [field:title/]
    • [field:arcurl/]:文章链接。
    • [field:pubdate function="MyDate('Y-m-d',@me)"/]:发布日期。
    • [field:description/]

示例 taglist.htm

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">{dede:tagname} - {dede:global.cfg_webname/}</title>
</head>
<body>
    <h1>标签 "{dede:tagname}" 相关文章</h1>
    <ul>
        {dede:tag}
        <li>
            <a href="[field:arcurl/]">[field:title]</a>
            <span>([field:pubdate function="MyDate('Y-m-d',@me)"])</span>
        </li>
        {/dede:tag}
    </ul>
</body>
</html>

Tag关联模板 (在文章内容页中)

这部分指的是在文章详情页里,文章标题下方或下方显示的“标签”部分,标签:织梦cms,模板,dede,点击这些标签会跳转到上面提到的 taglist.htm 页面。

dede tag模板在哪里
(图片来源网络,侵删)

模板位置

这部分代码不是独立文件,它位于文章内容页的模板文件中。 页模板文件是:

你的网站根目录/
└── templets/
    └── default/
        └── article_article.htm

你需要在 article_article.htm 文件中找到负责输出标签的代码块。

如何修改和自定义

article_article.htm 文件中,找到类似下面这样的代码段:

使用默认的标签调用代码

<small>标签:</small>
{dede:tag type='current'}
<a href="[field:link/]">[field:tagname/]</a>
{/dede:tag}
  • 你可以修改这段代码的 HTML 结构,来改变标签的显示样式。
  • 想给每个标签加上 class 方便 CSS 控制:
<small>标签:</small>
{dede:tag type='current'}
<a href="[field:link/]" class="article-tag">[field:tagname/]</a>
{/dede:tag}

使用自定义字段(更灵活)

很多高级模板会使用自定义字段来调用标签,这样更灵活,代码可能长这样:

[field:array runphp='yes']
    @me = @me['tags'];
    if(!empty(@me)){
        $tags = explode(',', @me);
        $result = '<small>标签:</small>';
        foreach($tags as $tag){
            $url = "/tags/".urlencode($tag).".html"; // 注意:这里的URL结构需要和后台设置一致
            $result .= "<a href='{$url}'>{$tag}</a> ";
        }
        @me = $result;
    }else{
        @me = '';
    }
[/field:array]
  • 这种方式下,你只需要修改 $result 变量里的 HTML 结构即可。

重要前提:后台设置

即使你修改了模板,如果后台没有开启或正确设置,标签功能也无法正常工作,请检查以下设置:

  1. 开启Tag功能

    • 登录 DedeCMS 后台。
    • 进入【系统】-> 系统基本参数
    • 在“核心设置”选项卡中,找到是否开启 “关键字替换”“启用TAGS”,确保它们是“是”。
    • 在“其它选项”中,找到 “关键字分词” 相关的设置,根据需要开启。
  2. 设置Tag列表命名规则

    • 进入【系统】-> 系统基本参数 -> 核心设置
    • 找到 “列表命名规则”“文章命名规则”
    • 特别重要:在“文章命名规则”中,确保有 [tags] 这个字段,/{aid}.html 或者 /tags/{tags}/{aid}.html,这决定了文章的 URL 是否包含标签信息。
    • 在“列表命名规则”中,通常设置为 tags/{tag}/{page}.htmltag/{tag}/index_{page}.html,这个规则决定了 taglist.htm 生成的页面的 URL 结构。
  3. 更新Tag缓存

    • 进入【核心】-> 批量维护 -> 更新Tag缓存
    • 每次新增或修改了大量标签后,最好执行一次此操作,以确保前台能正确显示。

总结与排查步骤

如果你遇到标签不显示或样式不对,请按以下步骤排查:

  1. 确定问题场景

    • 标签列表页 (taglist.htm) 的样式不对?
    • 还是 (article_article.htm) 的标签不显示或样式不对?
  2. 定位对应模板文件

    • 标签列表页问题 -> 修改 /templets/你的模板文件夹/taglist.htm
    • 页标签问题 -> 修改 /templets/你的模板文件夹/article_article.htm
  3. 检查后台设置

    • 确认后台“系统基本参数”中,Tag功能已开启。
    • 确认命名规则设置正确,特别是包含 [tags]tags/ 的部分。
  4. 更新缓存

    在后台“更新Tag缓存”,然后刷新前台页面看效果。

通过以上步骤,你应该能准确定位并修改 DedeCMS 的 Tag 模板了。

-- 展开阅读全文 --
头像
织梦如何调用文章第一张图片?
« 上一篇 02-14
dede调用CSS样式的方法是什么?
下一篇 » 02-14

相关文章

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