织梦文章页如何调用关键词?

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

直接调用单个关键词(最常用)

如果你的文章只设置了一个关键词,或者你只想获取关键词列表中的第一个关键词,这是最简单直接的方法。

织梦文章页调用关键词
(图片来源网络,侵删)

适用场景

  • 获取文章的主要标签。
  • 作为文章页面的一个简单标签展示。

调用代码

{dede:field name='keywords' /}

代码解释{dede:field name='keywords' /} 是织梦系统最基本的字段调用标签,它会直接输出文章在后台“关键词”字段中填写的内容,多个关键词之间默认用英文逗号 分隔。


调用并解析关键词列表(用于生成标签)

这是最常用且功能最强大的方法,适用于获取所有关键词,并将它们解析成独立的标签,方便你进行循环、添加链接等操作。

织梦文章页调用关键词
(图片来源网络,侵删)

适用场景

  • 在文章页下方生成文章的标签云。
  • 将每个关键词都链接到关键词搜索结果页或相关文章列表页。

调用代码

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

代码解释

  1. {dede:tag ...}:这是专门用于调用文章关键词的标签。
  2. row='8':表示最多显示8个关键词,如果你的文章关键词超过8个,只取前8个,如果不需要限制,可以设置为一个很大的数字或删除此属性。
  3. getall='0':这是非常重要的一个属性。
    • getall='0'只调用当前文章的关键词,这是最常用的模式。
    • getall='1':调用全站所有的关键词(热门关键词),通常用于首页或频道的标签云。
  4. [field:link/]:这是关键词的链接地址,织梦会自动将其解析为指向关键词搜索结果页的链接,URL格式通常是 search.php?keywords=关键词
  5. [field:tag /]:这是关键词的文本内容。

示例(美化样式)

<div class="article-tags">
    <span>标签:</span>
    {dede:tag row='10' getall='0'}
        <a href="[field:link/]" class="tag-item">[field:tag /]</a>
    {/dede:tag}
</div>

你可以通过CSS为 .tag-item 添加样式,比如设置背景色、边距等,使其看起来像一个美观的标签云。


手动解析关键词字符串(更灵活)

如果你觉得 {dede:tag} 标签不够灵活,或者想对关键词进行更复杂的处理(比如自定义链接),你可以手动解析关键词字符串。

适用场景

  • 想自定义关键词的链接地址(例如不链接到搜索页,而是链接到一个自定义的关键词列表页)。
  • 想对关键词进行额外的字符串处理。

调用代码

{dede:field name='keywords' runphp='yes'}
    // 获取关键词字符串并按逗号分割成数组
    $keywords = explode(',', trim(@me));
    // 清理数组中的空元素
    if(is_array($keywords)){
        foreach($keywords as $key => $keyword){
            if(empty($keyword)){
                unset($keywords[$key]);
            }
        }
    }
    // 重新组合成新的HTML代码
    $tags = '';
    foreach($keywords as $keyword){
        // 这里可以自定义链接地址
        // 示例1:链接到搜索页 (默认行为)
        $tags .= '<a href="/search.php?keywords='.urlencode($keyword).'">'.$keyword.'</a>, ';
        // 示例2:链接到自定义的URL(需要你网站有相应的规则)
        // $tags .= '<a href="/tags/'.urlencode($keyword).'.html">'.$keyword.'</a>, ';
    }
    // @me 是织梦模板中的变量,代表当前字段的值
    // 将处理好的结果赋值给 @me
    @me = $tags;
{/dede:field}

代码解释

  1. {dede:field name='keywords' runphp='yes'}runphp='yes' 属性允许你在标签内使用PHP代码来处理字段值。
  2. explode(',', trim(@me)):将关键词字符串用英文逗号分割成一个PHP数组。
  3. foreach ($keywords as $keyword):遍历数组中的每一个关键词。
  4. urlencode($keyword):对关键词进行URL编码,确保在URL中是安全的。
  5. @me = $tags;:这是最关键的一步,将你处理好的HTML字符串重新赋值给 @me,最终模板会输出这个新值。

总结与推荐

方法 优点 缺点 推荐场景
方法一{dede:field name='keywords' /} 简单、快捷,无需任何设置。 只能输出一整个字符串,无法单独处理每个关键词。 只需简单展示关键词文本时。
方法二{dede:tag} 功能强大,代码简洁,官方推荐,直接生成带链接的标签。 链接地址固定为搜索页,自定义性稍差。 绝大多数场景,尤其是生成文章标签云
方法三:手动解析 极度灵活,可以完全控制链接地址和HTML结构。 代码较复杂,需要一定的PHP基础。 需要高度自定义,例如链接到自定义的关键词专题页时。

对于绝大多数用户来说,强烈推荐使用方法二 {dede:tag},因为它在功能、易用性和官方支持之间取得了最佳平衡,只有当你需要实现非常特殊的需求时,才考虑使用方法三。

-- 展开阅读全文 --
头像
织梦上传服务器步骤是什么?
« 上一篇 02-26
dede手机站二级域名如何设置?
下一篇 » 02-26

相关文章

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

目录[+]