织梦如何实现两篇文章关联?

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

使用官方内置的 likearticle 标签(最推荐、最简单)

这是织梦官方提供的最直接、最简单的相关文章调用方法,它通过当前文章的关键词或栏目来自动匹配并列出其他相关文章。

织梦如何关联两个文章
(图片来源网络,侵删)

核心标签:{dede:likearticle}

这个标签会自动获取当前文章的 keywords 字段,然后去全站的文章中查找包含这些关键词的文章,并排除掉当前文章本身。

基本用法示例:

在你需要显示“相关文章”的地方,比如文章内容页 article_article.htm 的底部,直接使用以下代码:

<h3>相关文章</h3>
<ul class="related-article-list">
    {dede:likearticle row='8' titlelen='40'}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
    </li>
    {/dede:likearticle}
</ul>

标签参数说明:

  • row='8':显示的相关文章数量,这里设置为8篇,len='40'`:文章标题的长度,超过40个字符会被截断并加上省略号。
  • innertext='':自定义列表项内的模板内容,默认是 "<a href='[field:arcurl/]'>[field:title]</a>",上面的例子就是使用了默认的 innertext
  • typeid='':可以指定只显示某个栏目下的相关文章。typeid='5' 就只显示栏目ID为5下的相关文章。留空则表示全站搜索。
  • keyword='':可以手动输入关键词来搜索相关文章,会覆盖自动获取的关键词。
  • orderby='hot':排序方式。
    • rand:随机排序。
    • hotclick:按点击量排序(热门)。
    • pubdate:按发布时间排序。

优点:

  • 无需任何额外设置,开箱即用。
  • 自动化程度高,根据文章关键词自动关联,非常智能。

缺点:

织梦如何关联两个文章
(图片来源网络,侵删)
  • 依赖关键词质量,如果文章没有填写关键词,或者关键词太宽泛(如“技术”、“学习”),那么关联出来的文章可能不相关。
  • 关联范围有限,只能通过关键词匹配,无法进行更复杂的关联逻辑。

使用自定义字段实现精准关联(最灵活、最强大)

当你需要更精准、更可控的关联关系时,系列教程”中的上一篇文章和下一篇文章,或者某个专题下的所有文章,最佳方法就是使用织梦的自定义字段功能。

操作步骤:

第一步:添加一个自定义字段

  1. 进入织梦后台,点击 【核心】 -> 模型管理】
  2. 找到你当前文章所使用的模型(通常是“文章”),点击其右侧的 【字段管理】
  3. 在字段管理页面,点击 【添加新字段】
  4. 填写字段信息:
    • 字段名称relation_arcs (建议使用英文,避免中文可能带来的问题)
    • 字段类型多功能文本框 (这个类型可以存储多个ID,用逗号隔开)
    • 字段提示关联文章ID (这个提示会在后台添加文章时显示)
    • 其他选项:根据需要填写,比如是否为必填项等。
  5. 点击 【保存】,保存后,可能需要更新一下缓存才能在后台看到新字段。

第二步:在后台添加文章时填写关联信息

  1. 去添加或编辑一篇文章。
  2. 编辑区的下方,你会看到刚刚添加的自定义字段 relation_arcs
  3. 在这个字段中,手动输入 你想要关联的文章的ID,多个ID之间用英文逗号 隔开。
    • 5,8,12 表示这篇文章要关联ID为5、8、12的三篇文章。

第三步:在前台模板中调用关联文章

织梦如何关联两个文章
(图片来源网络,侵删)

你可以在模板文件中使用 {dede:field} 标签来获取这个自定义字段里的ID,并结合 arclistsql 标签来查询并显示这些文章。

示例1:使用 arclist 标签(推荐)

arclist 标签可以根据指定的ID列表来获取文章。

<h3>系列教程</h3>
<ul class="series-article-list">
    {dede:arclist 
        titlelen='30' 
        row='10' 
        idlist='{dede:field.relation_arcs/}'
        orderby='id' 
    }
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
    </li>
    {/dede:arclist}
</ul>
  • idlist='{dede:field.relation_arcs/}':这是核心,它获取了自定义字段 relation_arcs 的值("5,8,12"),并将其作为 idlist 参数的值传递给 arclist 标签,从而只列出这些ID的文章。

示例2:使用 sql 标签(更灵活)

如果你需要对关联文章进行更复杂的排序或筛选,sql 标签是更好的选择。

<h3>系列教程(按发布时间倒序)</h3>
<ul class="series-article-list-sql">
    {dede:sql sql="SELECT id, title, arcurl FROM `dede_archives` WHERE id IN ([field:relation_arcs/]) ORDER BY pubdate DESC"}
    <li>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
    </li>
    {/dede:sql}
</ul>

优点:

  • 关联精准:完全由管理员手动控制,关联关系非常准确。
  • 功能强大:可以实现任意复杂的关联逻辑,比如上一页/下一页、专题文章集等。
  • 不依赖关键词:不受文章关键词质量的影响。

缺点:

  • 需要手动维护:每次添加文章时都需要手动填写关联ID,如果文章数量很多,会比较繁琐。
  • 需要额外设置:需要添加自定义字段,对新手来说有一定门槛。

使用专题功能(一对多关联)

如果你的“两篇文章”实际上是一个“专题”和“多篇专题文章”的关系,那么使用织梦的 【专题】 功能是最佳选择。

操作步骤:

  1. 创建专题

    • 后台 -> 【专题】 -> 【专题管理】 -> 【增加专题】
    • 填写专题名称、简介等信息,并上传专题封面图。
  2. 添加文章到专题

    • 在专题管理页面,点击你刚创建的专题,进入专题内容管理。
    • 点击 【添加文档】,你可以从全站的文章中选择要加入到这个专题中的文章,你可以为专题内的文章设置排序。
  3. 前台调用专题文章

    • 织梦有专门的专题模板,你可以在专题页面模板(如 spec_list.htm)中,使用标签循环输出专题内的所有文章。
    • 如果你需要在普通文章页面显示它所属的专题,可以使用 {dede:field.typeid/} 等标签配合逻辑判断来实现,但这相对复杂一些。

优点:

  • 官方功能,稳定可靠
  • 管理集中:所有专题文章都在一个专题下管理,非常方便。
  • 用户体验好:专题页面本身就是一个聚合页,利于SEO。

缺点:

  • 适用场景特定:只适用于“一个专题包含多篇文章”的场景,不适合简单的两两关联。

总结与选择建议

方法 优点 缺点 适用场景
likearticle 简单、快速、自动化 依赖关键词,关联可能不精准 大多数网站页脚的“相关文章”模块,对关联精度要求不高的地方。
自定义字段 精准、灵活、强大 需要手动维护,设置稍复杂 系列教程、上下篇、专题推荐、需要精确控制关联关系的场景。
专题功能 管理集中,官方功能 场景受限,不适合简单关联 创建一个包含多篇深度文章的专题,如“2025年度盘点”、“前端入门系列”等。

给你的建议:

  • 如果你只是想在文章页下面加一个“相关文章”的模块,直接使用方法一 (likearticle),这是最快最省事的方法。
  • 如果你要做一个“系列教程”或者“上一篇/下一篇”这种强关联关系,强烈推荐使用方法二(自定义字段),它能给你最精准的控制。
  • 如果你想做一个内容聚合页,把多篇不同类型的文章组织成一个专题,使用方法三(专题功能)
-- 展开阅读全文 --
头像
dede bshare下载在哪里找?安全吗?
« 上一篇 今天
dede后台mysql连接失败怎么办?
下一篇 » 今天

相关文章

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

目录[+]