织梦likearticle

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

likearticle 是织梦一个非常核心且常用的标签,它的主要作用是 根据当前文章的相关性,推荐或列出一系列相关的文章,这不仅能增强用户体验,也能有效增加网站的内链,对SEO优化非常有益。

织梦likearticle
(图片来源网络,侵删)

likearticle 标签的基本用法

likearticle 通常在文章内容页(article_article.htm 模板)中使用。

基础语法

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

基础示例

一个更完整的示例,通常会包含一些样式控制:

<!-- 相关文章推荐 -->
<div class="related-article">
    <h3>相关文章</h3>
    <ul>
        {dede:likearticle}
        <li>
            <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>
        </li>
        {/dede:likearticle}
    </ul>
</div>

likearticle 标签的常用属性

likearticle 的强大之处在于其丰富的属性,通过这些属性可以精确控制推荐文章的范围、数量、排序等。

属性名 含义 示例值 备注
row 返回文章的数量 row='5' 默认为 10
col 每行显示的文章数量 col='2' 默认为 1
typeid 指定栏目ID typeid='2' 非常重要,用于限定推荐文章的栏目范围
innertext 单条记录的模板 innertext='<li><a href="[field:arcurl/]">[field:title/]</a></li>' 标签对之间的内容会被 innertext 替换
orderby 排序方式 orderby='hot' 可选值:id(默认), pubdate(发布日期), hot(点击/人气), sortrank(权重)
keyword 关键词匹配 keyword='' 如果为空,则使用当前文章的关键词
idlist 指定文章ID列表 idlist='1,3,5' 优先级最高,如果设置了此属性,其他筛选条件可能无效

属性详解与示例

限制推荐文章的栏目 (typeid)

织梦likearticle
(图片来源网络,侵删)

这是最常用的属性之一,默认情况下,likearticle 会在全站范围内查找相关文章,这可能会导致推荐的文章与当前文章所属栏目不符,通常建议将其限制在当前栏目或同级栏目。

<!-- 只推荐当前栏目下的相关文章 -->
{dede:likearticle typeid='[field:id/]' row='5'}
    <a href="[field:arcurl/]">[field:title/]</a>
{/dede:likearticle}

注意[field:id/] 是当前文章的栏目ID,在文章内容页模板中,可以直接使用。

控制推荐数量 (rowcol)

  • row: 设置总共推荐几篇文章。
  • col: 设置每行显示几篇,当 col > 1 时,织梦会自动生成一个 <table> 或使用CSS Flexbox/Grid布局来排列。
<!-- 推荐8篇文章,每行显示4篇,共2行 -->
{dede:likearticle row='8' col='4'}
    <a href="[field:arcurl/]">[field:title/]</a>
{/dede:likearticle}

使用 innertext 美化样式

织梦likearticle
(图片来源网络,侵删)

innertext 属性可以让你更灵活地控制每条推荐文章的HTML结构,而不用在标签对之间写重复的代码。

{dede:likearticle row='5' 
    innertext='
    <div class="related-item">
        <h4><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></h4>
        <p>发布时间:[field:pubdate function="MyDate('Y-m-d', @me)"/]</p>
    </div>
    '}
{/dede:likearticle}

按不同方式排序 (orderby)

  • 按人气排序 (最常用,推荐热门文章)
    {dede:likearticle orderby='hot' row='5'}
        ...
    {/dede:likearticle}
  • 按发布日期排序 (推荐最新文章)
    {dede:likearticle orderby='pubdate' row='5'}
        ...
    {/dede:likearticle}

指定关键词 (keyword)

默认情况下,likearticle 会使用当前文章的 来查找相关文章,你也可以手动指定关键词。

<!-- 手动指定关键词 "织梦", "CMS" 来查找相关文章 -->
{dede:likearticle keyword='织梦,CMS' row='5'}
    ...
{/dede:likearticle}

likearticle 的工作原理

理解其工作原理有助于你更好地使用它:

  1. 获取关键词:标签首先会获取当前文章的 字段(keywords,这个字段通常是在后台发布文章时手动填写的,也可以通过关键词自动提取功能填充。
  2. 拆分关键词:将获取到的关键词字符串按逗号()或其他分隔符拆分成一个关键词数组。
  3. 查询数据库:根据你设置的属性(特别是 typeid),在 dede_archives (文章主表) 和 dede_arctype (栏目表) 中进行查询。
    • 它会查找那些 中包含了上述数组中任意一个关键词的文章。
    • 排除掉当前文章本身,避免推荐自己。
  4. 返回结果:将查询到的文章列表按照 orderby 属性指定的方式进行排序,并最终返回 row 指定数量的结果。

最佳实践与常见问题

最佳实践

  1. 务必使用 typeid:为了提高相关性和用户体验,强烈建议使用 typeid='[field:id/]' 将推荐范围限制在当前栏目。
  2. 优化关键词likearticle 的效果好坏,直接取决于文章的 是否准确、有效,请确保文章的关键词填写得恰当。
  3. 使用 innertext:利用 innertext 属性可以使模板更整洁、易于维护。
  4. 结合缓存:织梦默认会对页面进行缓存,相关文章列表也会被缓存,这对于提高网站速度有好处,但如果文章更新频繁,可能需要考虑缓存策略。

常见问题

问题1:为什么推荐的文章完全不相关?

  • 原因1:文章没有填写关键词,或者关键词填写得不准确。
  • 原因2:关键词过于宽泛或热门(如“技术”、“新闻”),导致匹配到大量不相关的文章。
  • 原因3:没有使用 typeid 属性,导致跨栏目推荐,内容风马牛不相及。

解决方案

  • 检查并修正文章的关键词。
  • 使用更具体、更长的关键词(长尾关键词)。
  • 添加 typeid='[field:id/]' 属性。

问题2:推荐列表显示的是当前文章本身?

  • 原因:这是 likearticle 的正常设计,它会自动排除当前文章,如果你看到的列表里有自己,可能是缓存问题或者有其他标签逻辑干扰。
  • 解决方案:清除网站缓存后重试。

问题3:推荐文章数量不足或为空?

  • 原因1:当前文章的关键词太冷门,或者数据库中找不到包含这些关键词的其他文章。
  • 原因2row 值设置过大,但符合条件的文章数量不足。
  • 原因3typeid 设置的栏目下,确实没有符合条件的文章。

解决方案

  • 尝试放宽关键词范围,或者为文章增加一些相关的热门关键词。
  • 适当调小 row 的值。
  • 检查 typeid 是否正确。

likearticle 是织梦CMS中一个功能强大且必须掌握的标签,通过合理运用其属性,特别是 typeidroworderbyinnertext,你可以轻松地为网站打造出非常智能和贴心的相关文章推荐模块,从而提升用户体验和SEO效果,它的核心依赖于 高质量的文章关键词

-- 展开阅读全文 --
头像
dede后台目录修改后访问不了怎么办?
« 上一篇 01-03
dede php如何获取当前文章id?
下一篇 » 01-03

相关文章

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

目录[+]