dede相关文章标签如何调用与配置?

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

在 DedeCMS 中,实现相关文章功能主要有两种方式,对应着两种不同的标签:

dede相关文章标签
(图片来源网络,侵删)
  1. {dede:likearticle}:这是最常用、最灵活的方式,它可以根据设定的规则(如关键字、同栏目、同模型等)来动态获取相关文章。
  2. {dede:arclist} 标签配合 typeidkeyword 属性:这是一种更简单的方式,通常用于调用指定栏目或包含特定关键词的文章,有时也用作“相关文章”。

下面我们重点讲解功能最强大的 {dede:likearticle}


{dede:likearticle} 标签详解

这个标签是专门为“相关文章”功能设计的,它的核心思想是:基于当前文章,找到与之相似的其他文章

基本语法和结构

{dede:likearticle}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:likearticle}
  • {dede:likearticle}:标签开始。
  • [/dede:likearticle]:标签结束。
  • [field:arcurl/]:获取相关文章的链接地址。
  • [field:title/]:获取相关文章的标题。

核心属性(决定文章如何“相关”)

{dede:likearticle} 的强大之处在于它的属性,通过组合这些属性,你可以精确地定义“相关”的规则。

属性名 含义 示例/说明
row 返回文章数量 row='10' (默认10条)
col 每行显示文章数 col='2' (每行显示2条)
infolen 简介截取长度 infolen='100' (文章简介最多显示100个字符)
orderby 排序方式 orderby='hot' (按浏览量降序), orderby='pubdate' (按发布时间降序), orderby='scores' (按评分降序)
keyword 按当前文章关键字匹配 这是最核心的属性之一,如果当前文章的关键字是“织梦,PHP,建站”,它会调用包含这些关键字的文章。
typeid 限制在指定栏目内 typeid='5' (只调用栏目ID为5下的文章),常与 keyword 配合使用,表示“同栏目且关键字相关”。
idlist 指定文章ID列表 idlist='10,25,30' (只调用ID为10, 25, 30的文章),用于排除当前文章本身。
channelid 指定模型ID channelid='1' (只调用普通文章模型)。
subday 指定多少天内的文章 subday='30' (只调用最近30天内发布的文章)。
noflag 排除特定标志 noflag='h' (不带有“头条”标志的文章)。

最常用的组合方式

默认关键字相关(最常用) 不指定任何属性,默认会根据当前文章的关键字来查找相关文章。

<h3>相关文章</h3>
<ul>
    {dede:likearticle row='5' titlelen='30'}
        <li><a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me,30)'/]</a></li>
    {/dede:likearticle}
</ul>

同栏目且关键字相关(推荐) 这种方式相关性更高,因为文章不仅主题相关,还在同一个分类下。

dede相关文章标签
(图片来源网络,侵删)
<h3>同栏目相关文章</h3>
<ul>
    {dede:likearticle row='5' titlelen='30' keyword='' typeid=''}
        <li><a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me,30)'/]</a></li>
    {/dede:likearticle}
</ul>
  • keyword='':表示使用当前文章的关键字。
  • typeid='':表示使用当前文章所在的栏目ID。

排除当前文章,调用同栏目最新文章 有时候你可能不希望文章“相关”,而是希望推荐同栏目的其他文章。

<h3>同栏目推荐</h3>
<ul>
    {dede:likearticle row='5' titlelen='30' typeid='' keyword='' idlist=''}
        <li><a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me,30)'/]</a></li>
    {/dede:likearticle}
</ul>
  • idlist='':这个属性会自动将当前文章的ID排除在外,避免推荐自己。

高级用法:调用带有缩略图的相关文章

如果你想显示文章的缩略图,需要使用附加的图片字段 [field:picname/]

<h3>图文相关文章</h3>
<ul class="related-img">
    {dede:likearticle row='4' titlelen='20' orderby='rand'}
        <li>
            <a href="[field:arcurl/]">
                <img src="[field:picname/]" alt="[field:title/]" />
                <span>[field:title function='cn_substr(@me,20)'/]</span>
            </a>
        </li>
    {/dede:likearticle}
</ul>
  • orderby='rand':随机排序,每次刷新页面相关文章顺序都不同,增加页面新鲜感。
  • [field:picname/]:获取文章的缩略图地址。注意:需要确保文章有上传缩略图,否则可能显示默认图或空白。

{dede:arclist} 标签作为“相关文章”

虽然 {dede:likearticle} 是首选,但 {dede:arclist} 也可以用来实现类似功能,通常用于更简单的场景。

按栏目调用(同栏目文章)

在文章详情页(article_article.htm),调用当前文章所在栏目的其他文章。

dede相关文章标签
(图片来源网络,侵删)
<h3>同栏目文章</h3>
<ul>
    {dede:arclist row='10' titlelen='30' typeid='' noflag='h'}
        <li><a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me,30)'/]</a></li>
    {dede:arclist}
</ul>
  • typeid='':在文章内容页,这个属性会自动获取当前文章的栏目ID,实现调用同栏目的文章。
  • noflag='h':可选,排除带有“头条”标志的文章。

按关键字调用(包含指定关键词的文章)

这个方法不如 likearticle 智能,因为它需要你手动指定关键词

<h3>包含“织梦”的文章</h3>
<ul>
    {dede:arclist row='10' titlelen='30' keyword='织梦'}
        <li><a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me,30)'/]</a></li>
    {dede:arclist}
</ul>
  • keyword='织梦':这是固定的,不会根据当前文章变化,所以这种方式通常不用于“相关文章”,而是用于一个固定的“热门标签”或“关键词推荐”模块。

使用注意事项

  1. 性能问题{dede:likearticle} 是在页面加载时实时从数据库查询的,如果设置的 row 值过大或网站数据量很大,可能会对页面加载速度产生轻微影响,对于大多数网站,row='5'row='10' 是比较合理的范围。
  2. 关键字质量{dede:likearticle} 的效果高度依赖于文章的关键字质量,如果文章没有填写关键字,或者关键字填写得不准确(如“的”、“是”等无意义词汇),那么相关文章的效果会非常差。强烈建议在发布文章时认真填写关键字
  3. 标签位置:通常将相关文章标签放在文章内容的末尾,即 article_article.htm 模板文件中 {dede:field.body/} 的后面。
需求场景 推荐标签 关键属性组合
最常用的相关文章 {dede:likearticle} row='5' titlelen='30' (默认即可)
高质量相关文章(同栏目+关键字) {dede:likearticle} row='5' titlelen='30' keyword='' typeid=''
同栏目推荐(排除自己) {dede:likearticle} row='5' titlelen='30' typeid='' idlist=''
简单的同栏目文章列表 {dede:arclist} row='10' titlelen='30' typeid=''

希望这份详细的解析能帮助你完全掌握 DedeCMS 的相关文章标签!

-- 展开阅读全文 --
头像
织梦栏目页为何无法生成?
« 上一篇 前天
织梦微信公众号开发
下一篇 » 前天

相关文章

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