织梦如何调用当前文章的tag标签?

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

使用织梦官方标签(推荐)

这是最标准、最简单的方法,适用于绝大多数场景,织梦官方标签 {dede:tag} 就是为这个功能设计的。

织梦调用当前文章的tag标签
(图片来源网络,侵删)

标签语法

{dede:tag row='数量' getall='0'}
    <a href="[field:link/]">[field:tag/]</a>
{/dede:tag}

参数说明

  • row='数字':表示要显示的标签数量。row='5' 表示只显示5个标签,如果不写,默认显示所有标签。
  • getall='0':表示是否获取当前文章的所有标签。getall='0'(默认值)表示只调用当前文章的标签。getall='1' 则会调用网站所有热门标签,这通常不是我们想要的。请务必确保这个参数是 0

完整代码示例

将以下代码放在文章内容页模板(通常是 article_article.htm)的任何你希望显示标签的位置,比如文章标题下方、内容上方或作者信息旁边。

<h1>[field:title/]</h1>
<!-- 文章标签开始 -->
<div class="article-tags">
    <span>标签:</span>
    {dede:tag row='10' getall='0'}
        <a href="[field:link/]">[field:tag/]</a>
    {dede:tag}
</div>
<!-- 文章标签结束 -->
<div class="article-content">
    [field:body/]
</div>

代码解释:

  1. <div class="article-tags">...</div>:我们用一个 div 包裹标签,方便后续用CSS进行样式美化。
  2. <span>标签:</span>:可以加一个提示文字,让用户知道这是什么。
  3. {dede:tag row='10' getall='0'}:调用当前文章的最多10个标签。
  4. <a href="[field:link/]">[field:tag/]</a>
    • [field:link/]:这是标签的链接地址,点击后会跳转到该标签的列表页面。
    • [field:tag/]:这是标签的文本内容。

直接调用PHP代码(更灵活)

如果你需要对标签进行更复杂的逻辑处理,或者官方标签无法满足你的需求,可以直接在模板文件中嵌入PHP代码。

操作步骤

  1. 打开你的文章内容页模板文件(/templets/default/article_article.htm)。
  2. 在需要显示标签的位置,粘贴以下PHP代码。

PHP代码示例

<h1>[field:title/]</h1>
<!-- PHP代码调用标签开始 -->
<div class="article-tags">
    <span>标签:</span>
    <?php
    $tags = GetTags(@me);
    if($tags){
        $tags = explode(',', $tags);
        foreach($tags as $key => $value){
            // 为了SEO,建议对标签进行HTML实体编码
            $value_cn = htmlspecialchars($value);
            // 生成标签链接
            $tag_url = $GLOBALS['cfg_cmspath'] . "/tags.php?/".urlencode($value)."/";
            echo "<a href='{$tag_url}'>{$value_cn}</a> ";
        }
    }
    ?>
</div>
<!-- PHP代码调用标签结束 -->
<div class="article-content">
    [field:body/]
</div>

代码解释:

织梦调用当前文章的tag标签
(图片来源网络,侵删)
  1. <?php ... ?>:这是PHP代码的标记。
  2. $tags = GetTags(@me);:这是织梦的核心函数,用于获取当前文章(@me 代表当前文章内容)的标签字符串,多个标签用英文逗号隔开,"织梦,CMS,教程"。
  3. if($tags){ ... }:判断是否获取到了标签,如果没有标签(例如文章发布时未添加标签),则不显示任何内容。
  4. $tags = explode(',', $tags);:使用 explode 函数将逗号分隔的标签字符串转换成一个数组,方便我们循环遍历。
  5. foreach($tags as $key => $value){ ... }:遍历标签数组。
  6. $value_cn = htmlspecialchars($value);:对标签内容进行HTML实体编码,防止XSS攻击,是良好的编程习惯。
  7. $tag_url = $GLOBALS['cfg_cmspath'] . "/tags.php?/".urlencode($value)."/";
    • $GLOBALS['cfg_cmspath']:获取网站的根目录路径,确保链接正确。
    • /tags.php:这是织梦标签列表的默认页面。
    • urlencode($value):对标签进行URL编码,确保特殊字符(如中文)在URL中能正确显示。
  8. echo "<a href='{$tag_url}'>{$value_cn}</a> ";:输出每个标签的链接。

最佳实践与样式美化

无论使用哪种方法,最终都需要用CSS来美化标签的显示,让它看起来更美观。

CSS样式示例

在你的模板的CSS文件(如 /templets/default/style/dedecms.css)中添加以下样式:

/* 文章标签容器 */
.article-tags {
    margin: 15px 0;
    padding: 10px;
    border-bottom: 1px dashed #e0e0e0;
}
/* 标签提示文字 */
.article-tags span {
    color: #666;
    margin-right: 8px;
}
/* 标签链接样式 */
.article-tags a {
    display: inline-block; /* 让链接可以设置内边距和外边距 */
    margin: 0 5px 5px 0; /* 外边距:上右下左 */
    padding: 3px 10px;
    background-color: #f0f0f0;
    color: #333;
    text-decoration: none; /* 去掉下划线 */
    border-radius: 12px; /* 圆角 */
    font-size: 12px;
    transition: all 0.3s ease; /* 添加过渡效果 */
}
/* 鼠标悬停时的样式 */
.article-tags a:hover {
    background-color: #007bff;
    color: #ffffff;
}
方法 优点 缺点 适用场景
官方标签 简单、安全、官方推荐 灵活性较低,功能固定 绝大多数情况,特别是新手或标准需求。
PHP代码 灵活性极高,可自定义逻辑和格式 需要一定的PHP知识,有出错风险 需要对标签进行特殊处理,比如过滤、排序、或与其他逻辑结合时。

对于99%的用户,强烈推荐使用方法一(官方标签),因为它足够好用且稳定,只有在官方标签无法满足你的特定需求时,才考虑使用方法二。

织梦调用当前文章的tag标签
(图片来源网络,侵删)
-- 展开阅读全文 --
头像
织梦带www与不带www如何正确跳转?
« 上一篇 2025-12-19
C语言warning C4305是什么原因?
下一篇 » 2025-12-19

相关文章

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

目录[+]