dede栏目关键字调用怎么用?

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

在列表页调用当前栏目关键字 (最常用)

这是最常见的需求,比如在列表页的 <title><meta name="keywords"> 标签中使用。

dede栏目关键字调用
(图片来源网络,侵删)

适用场景:

  • 栏目列表页 (list_栏目ID.htm)
  • 频道封面页 (index_栏目ID.htm)

调用代码:

{dede:field name='keywords'/}

代码解析:

  • {dede:field ...} 是 DedeCMS 调用单个字段值的标签。
  • name='keywords' 指定了要调用的字段是 keywords
  • 这个标签在列表页中,会自动获取当前栏目的关键字。

实际应用示例 (修改 list_article.htm 模板):

dede栏目关键字调用
(图片来源网络,侵删)
  1. 修改页面标题 (Title):<head> 标签内找到 <title> 标签,将其修改为:

    这里 {dede:field name='title'/} 获取的是当前栏目的名称,而不是关键字,如果想在标题里也包含关键字,可以这样组合:

  2. 修改页面关键词 (Meta Keywords):<head> 标签内找到 <meta name="keywords"> 标签,将其修改为:

    <meta name="keywords" content="{dede:field name='keywords'/}">
  3. 中显示关键字: 比如在列表页的某个位置显示当前栏目的关键字:

    dede栏目关键字调用
    (图片来源网络,侵删)
    <p>本栏目关键字:<span class="keywords">{dede:field name='keywords'/}</span></p>

页调用当前栏目关键字

页,你可能希望显示这篇文章所属栏目的关键字。

适用场景:

  • (article_articledID.htm)

调用代码:

{dede:field name='keywords'/}

代码解析:页,{dede:field name='keywords'/} 默认调用的是当前文章的关键字。

  • 要调用当前栏目的关键字,需要使用 channel 函数。

调用当前栏目关键字的正确代码:

{dede:field name='typeid' function="GetChannelKeywords(@me)"/}

代码解析:

  • {dede:field name='typeid'} 先获取当前文章所属的栏目ID。
  • function="GetChannelKeywords(@me)" 是一个自定义函数。
    • @me 是 DedeCMS 模板中的占位符,代表前面标签获取到的值(也就是栏目ID)。
    • GetChannelKeywords() 是 DedeCMS 内置的一个函数,它接收一个栏目ID作为参数,然后返回该栏目的关键字。

实际应用示例 (修改 article_article.htm 模板):

<head> 中修改 Meta Keywords:

<meta name="keywords" content="{dede:field name='typeid' function='GetChannelKeywords(@me)'/}">

这样,每篇文章的 Meta Keywords 都会显示其所属栏目的关键字,而不是文章自身的关键字。


在任意页面调用指定栏目的关键字

你可能想在首页或者某个特定页面调用一个固定栏目(公司简介”)的关键字。

适用场景:

  • 首页
  • 自定义页面
  • 任何非栏目列表/内容页

调用代码:

{dede:channel typeid='栏目ID' function='GetChannelKeywords(@me)'}
    [field: function='GetChannelKeywords(@me)'/]
{/dede:channel}

或者更简洁的写法(推荐):

{dede:field name='typeid' function='GetChannelKeywords(栏目ID)'/}

代码解析:

  • 这种方法直接调用 GetChannelKeywords() 函数,并直接传入你想要查询的栏目ID
  • 你需要将 栏目ID 替换为你实际目标栏目的数字ID,栏目“公司简介”的ID是 5,那么代码就是:
    {dede:field name='typeid' function='GetChannelKeywords(5)'/}

实际应用示例 (修改 index.htm 首页模板):

想在首页某个位置显示ID为 3 的栏目“产品中心”的关键字:

<h2>产品中心关键词</h2>
<p>{dede:field name='typeid' function='GetChannelKeywords(3)'/}</p>

总结与注意事项

场景 推荐代码 说明
栏目列表页 {dede:field name='keywords'/} 调用当前栏目的关键字,最简单直接。
{dede:field name='typeid' function="GetChannelKeywords(@me)"/} 调用当前文章所属栏目的关键字。
任意页面 {dede:field name='typeid' function='GetChannelKeywords(栏目ID)'/} 调用指定栏目ID的关键字,最灵活。

重要注意事项:

  1. 关键字为空: 如果你在后台某个栏目中没有填写关键字,那么调用出来的结果将是空白的,请确保你已经为需要调用关键字的栏目填写了内容。
  2. 栏目ID: 使用方法三时,务必确保你填写的 栏目ID 是正确的,你可以在 DedeCMS 后台“栏目管理”中查看每个栏目的ID。
  3. 模板缓存: 修改模板文件后,如果前台页面没有立即生效,请登录 DedeCMS 后台,点击“生成” -> “更新HTML”,或者清空一下模板缓存。
  4. **自定义函数:`GetChannelKeywords()`` 是 DedeCMS V5.7 及以上版本中比较可靠的内置函数,如果你使用的是非常古老的版本,可能需要确认该函数是否存在或使用其他替代方法。

希望这些详细的解释和示例能帮助你成功调用 DedeCMS 的栏目关键字!

-- 展开阅读全文 --
头像
dede留言板调用方法是什么?
« 上一篇 03-01
织梦后台如何更换图片?
下一篇 » 03-01

相关文章

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

目录[+]