织梦文章调用方法有哪些?

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

最简单的方法(基于当前文章的栏目ID)

这是最基础也是最常用的一种方法,它调用的是与当前文章在同一栏目下的其他文章

织梦相关文章调用 方法
(图片来源网络,侵删)

适用场景:简单博客、新闻列表等,对相关性要求不高的场景。

调用代码:

{dede:likearticle col='1' row='10' titlelen='42'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:likearticle}

代码详解:

  • {dede:likearticle}: 这是织梦调用相关文章的标签。
  • col='1': 这是关键参数col 代表栏目ID。col='1' 表示调用当前文章所在栏目的文章,如果你想调用指定ID栏目的文章,直接修改数字即可,col='5'
  • row='10': 表示调用文章的数量,这里是10篇,len='42'`: 表示文章标题的长度,最多显示42个字符(一个汉字算2个字符,一个字母算1个字符)。
  • [field:arcurl/]: 文章的链接地址。
  • [field:title/]: 文章的标题。

完整示例(在文章内容页 article_article.htm 中使用):

织梦相关文章调用 方法
(图片来源网络,侵删)
<div class="related-article">
    <h3>相关文章</h3>
    <ul>
        {dede:likearticle col='1' row='8' titlelen='30'}
            <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
        {/dede:likearticle}
    </ul>
</div>

更智能的方法(基于关键词)

这种方法比方法一更智能,它会提取当前文章的,然后在整个网站中查找包含这些关键词的文章,从而实现真正意义上的“相关”。

适用场景:对文章关联性要求较高的网站,如知识库、教程站等。

实现步骤:

  1. 确保文章有关键词:在后台发布文章时,务必在“关键词”一栏填写相关的关键词,多个关键词用英文逗号隔开。
  2. 使用 keyword 参数:在调用标签中使用 keyword 参数。

调用代码:

织梦相关文章调用 方法
(图片来源网络,侵删)
{dede:likearticle keyword='是' row='10' titlelen='42'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:likearticle}

代码详解:

  • keyword='是': 这个参数会获取当前文章的,然后在整个文章库中进行模糊匹配,这里的 '是' 只是一个占位符,织梦会自动替换为当前文章的实际关键词。
  • rowtitlelen 参数与第一种方法相同。

完整示例:

<div class="related-article">
    <h3>您可能感兴趣</h3>
    <ul>
        {dede:likearticle keyword='是' row='6' titlelen='28'}
            <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
        {/dede:likearticle}
    </ul>
</div>

注意:这种方法比 col 方法消耗更多的服务器资源,因为需要进行全文搜索,如果网站文章量非常大,可能会导致页面加载变慢。


排除当前文章的方法

无论使用方法一还是方法二,默认情况下,当前文章本身也会被包含在相关文章列表中,这通常是我们不希望看到的,我们可以使用 idlist 参数来排除它。

实现步骤:

  1. 获取当前文章的ID,在织梦的文章内容页,可以使用全局变量 $arcid 来获取。
  2. likearticle 标签中使用 idlist 参数,并将当前文章ID作为排除项。

调用代码:

{dede:likearticle col='1' row='10' titlelen='42' idlist='-$arcid'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:likearticle}

代码详解:

  • idlist='-$arcid': 这是实现排除的核心。
    • $arcid 是当前文章的ID。
    • idlist 参数中,在ID前面加上负号 ,表示排除该ID的文章。
    • idlist='-$arcid' 的意思就是“排除当前文章ID,并调用其他符合条件的文章”。

完整示例(结合方法一和方法三):

<div class="related-article">
    <h3>相关文章</h3>
    <ul>
        {dede:likearticle col='1' row='8' titlelen='30' idlist='-$arcid'}
            <li><a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a></li>
        {/dede:likearticle}
    </ul>
</div>

混合方法(推荐,最强大)

这是最推荐的方法,它结合了栏目优先关键词辅助的原则,使得相关文章的相关性最高。

逻辑是:

  1. 优先调用:优先调用与当前文章同栏目包含关键词的文章。
  2. 如果数量不足:如果第一步调用的文章数量不够 row 指定的数量,再在整个网站中查找仅包含关键词的文章来补足。

调用代码:

{dede:likearticle col='1' keyword='是' row='10' titlelen='42' idlist='-$arcid'}
    <li>
        <a href="[field:arcurl/]">[field:title/]</a>
    </li>
{/dede:likearticle}

代码详解:

  • 这个标签同时包含了 col='1'keyword='是'
  • 织梦的底层逻辑会自动处理这种组合,实现上述的“混合匹配”策略,从而获得最佳的相关性。
  • 我们依然保留了 idlist='-$arcid' 来排除当前文章。

总结与最佳实践

方法 核心参数 优点 缺点 推荐场景
按栏目 col='1' 速度快,资源消耗低,逻辑简单 相关性一般,可能不精准 简单列表、新闻站
按关键词 keyword='是' 相关性高,智能 速度慢,资源消耗大 知识库、教程站
排除当前 idlist='-$arcid' 用户体验好,避免重复 需配合其他方法使用 必须配合使用
混合法 col='1' keyword='是' 相关性最高,效果最好 资源消耗介于方法一和方法二之间 绝大多数场景下的首选

最终推荐代码(可以直接复制使用):

将以下代码放置在您的文章模板文件 article_article.htm 的适当位置(例如文章内容下方)。

<!-- 相关文章开始 -->
<div class="related-posts">
    <h3 class="related-title">相关文章</h3>
    <ul class="related-list">
        {dede:likearticle col='1' keyword='是' row='8' titlelen='30' idlist='-$arcid'}
            <li>
                <a href="[field:arcurl/]" title="[field:title function='htmlspecialchars(@me)'/]">[field:title/]</a>
            </li>
        {/dede:likearticle}
        <!-- 可选:如果相关文章列表为空,显示提示信息 -->
        {dede:if empty=''}
            <li>暂无相关文章。</li>
        {/dede:if}
    </ul>
</div>
<!-- 相关文章结束 -->

额外提示:

  • CSS样式:为了让相关文章更美观,您需要为 .related-posts, .related-title, .related-list, li 等元素添加CSS样式。
  • 无结果处理:上面的代码中加入了 {dede:if empty=''} 标签,当没有找到相关文章时,会显示“暂无相关文章”,这是一种良好的用户体验设计。
  • 函数修饰:在 title 属性中,我使用了 function='htmlspecialchars(@me)',这可以确保标题中的特殊字符(如 )被正确转义,符合HTML规范,防止XSS攻击,这是一个好习惯。
-- 展开阅读全文 --
头像
www.dede爱.com
« 上一篇 02-15
dede如何精准提取文章图片路径?
下一篇 » 02-15

相关文章

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

目录[+]