如何使用`archiveList`标签的`type=

在您的网站上,当访客阅读完一篇文章时,如果能及时看到其他相关联的内容,这不仅能显著提升用户的阅读体验,降低跳出率,还能有效地增加网站的页面浏览量和停留时间。安企CMS为此提供了一个非常方便的标签:archiveList,配合其type="related"属性,就能轻松实现这一功能。

理解archiveListtype="related"的工作原理

archiveList是安企CMS中一个功能强大的内容列表调用标签,它允许您根据多种条件(如分类ID、模块ID、推荐属性等)来获取文章列表。当我们将type属性设置为"related"时,这个标签就会智能地识别当前页面正在展示的文章,并尝试找出与它相关联的其他文章进行推荐。

这个“相关联”的逻辑是多方面的。系统首先会根据当前文章的ID,尝试获取同分类下的临近文章作为相关推荐。此外,为了提供更精确的推荐,archiveList标签还提供了like参数,它有两种主要的用法:

  1. 基于关键词推荐 (like="keywords"):当您为文章设置了明确的关键词(在后台编辑文章时可以填写关键词,多个关键词用英文逗号分隔),并且使用了like="keywords"参数,系统会根据当前文章的第一个关键词来匹配网站中其他具有相同关键词的文章。这对于内容主题明确,且关键词管理规范的网站非常实用。

  2. 基于手动关联推荐 (like="relation"):有时候,您可能希望更精确地控制相关文章的推荐。在安企CMS的后台文章编辑界面,您可以手动指定与当前文章关联的其他文章。通过设置like="relation"参数,archiveList标签就只会显示这些您手动关联的文章,为您提供了极大的灵活性。

如果您没有指定like参数,系统会默认尝试根据当前文章的同分类临近文章进行推荐。

如何在模板中实现相关文章推荐

通常,相关文章推荐会出现在文章详情页内容的下方。以下是一个典型的模板代码示例,展示了如何使用archiveList标签来显示相关文章:

{# 假设您正在文章详情页的模板文件中 #}
{# 在此处展示完当前文章的主要内容,例如:{{archive.Content|safe}} #}

<div class="related-articles-section">
    <h2>相关推荐</h2>
    <ul>
        {% archiveList relatedArticles with type="related" limit="5" like="keywords" %}
            {# 上述代码会尝试获取最多5篇基于关键词的相关文章。
               如果想基于手动关联推荐,请将 like="keywords" 改为 like="relation"
               如果想基于同分类临近文章推荐(默认行为),可以移除 like 参数。
            #}
            {% for item in relatedArticles %}
            <li>
                <a href="{{item.Link}}" title="{{item.Title}}">
                    {% if item.Thumb %}
                        <img src="{{item.Thumb}}" alt="{{item.Title}}">
                    {% else %}
                        {# 如果没有缩略图,可以显示一个默认图片或文字 #}
                        <img src="/public/static/images/default-thumb.jpg" alt="{{item.Title}}">
                    {% endif %}
                    <h3>{{item.Title}}</h3>
                    <p>{{item.Description|truncatechars:80}}</p>
                    <div class="meta-info">
                        <span>发布于:{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
                        <span>阅读量:{{item.Views}}</span>
                    </div>
                </a>
            </li>
            {% empty %}
                {# 如果没有找到任何相关文章,这里会显示提示信息 #}
                <li><p>暂无相关文章推荐。</p></li>
            {% endarchiveList %}
        </ul>
</div>

在这段代码中:

  • 我们首先创建了一个div容器来包裹整个相关推荐模块。
  • {% archiveList relatedArticles with type="related" limit="5" like="keywords" %} 这行是核心,它调用了archiveList标签。
    • relatedArticles 是我们为获取到的文章列表定义的变量名,您可以在for循环中使用它。
    • type="related" 明确告诉系统我们要获取相关文章。
    • limit="5" 限制了只显示最多5篇文章。您可以根据页面布局和需求调整这个数字。
    • like="keywords" 指定了系统应根据当前文章的关键词来匹配相关文章。如果您希望根据手动关联来推荐,可以改为like="relation"
  • {% for item in relatedArticles %} 循环遍历获取到的每一篇相关文章。
  • item.Linkitem.Titleitem.Thumbitem.Descriptionitem.CreatedTimeitem.Views 等都是文章对象item中可以调用的字段,它们分别代表文章的链接、标题、缩略图、简介、创建时间和浏览量。stampToDate是一个格式化时间戳的辅助标签,能让日期显示得更友好。
  • {% empty %} 是一个非常实用的标签,如果archiveList没有找到任何匹配的相关文章,{% empty %}标签内的内容就会被显示出来,避免页面出现空白或不友好的提示。

优化与注意事项

  • 样式定制:上述代码仅展示了结构,您需要根据网站的整体风格,为.related-articles-section及其内部元素添加相应的CSS样式,使推荐模块美观大方。
  • 内容管理:为了让相关推荐功能发挥**效果,建议您在后台编辑文章时,认真填写文章关键词,或手动关联一些高质量的、与当前文章内容高度相关的文章。
  • 位置选择:相关推荐模块通常放置在文章正文下方、评论区上方,或者侧边栏等位置,具体位置可根据您的网站布局和用户习惯进行调整。

通过以上方法,您就可以在安企CMS的网站上,灵活且高效地为您的读者提供相关文章推荐,从而提升用户体验和内容价值。


常见问题 (FAQ)

Q1: like参数的两种模式(keywordsrelation)有什么区别?

A1: like="keywords"模式是基于内容的自动化推荐。系统会提取当前文章的关键词,然后根据这些关键词匹配网站中其他文章的关键词,找出相似内容进行推荐。这种方式依赖于您文章关键词的准确性。而like="relation"模式则是基于您在后台文章编辑时手动设置的关联文章进行推荐。如果您希望精确控制推荐内容,可以选择手动关联;如果您希望系统根据内容智能匹配,则选择关键词模式。

Q2: 如果没有相关文章被找到,页面会显示什么?

A2: 在示例代码中,我们使用了{% empty %}标签。这意味着如果archiveList标签在执行后没有找到任何匹配的相关文章,页面上就会显示{% empty %}标签内部的内容,例如“暂无相关文章推荐。”这样的提示信息。如果没有{% empty %}标签,那么该区域将是空白的,不会显示任何内容或错误。

Q3: 如何确保推荐的文章真正“相关”而不是随机的?

A3: 要确保相关文章推荐的质量,关键在于后台的内容管理。

  1. 关键词准确性:编辑文章时,务必填写与文章内容高度相关且精准的关键词。
  2. 分类规划:将文章归类到合适的分类,因为系统默认会优先推荐同分类下的文章。
  3. 手动关联:对于特别重要的文章,可以利用后台的手动关联功能,直接指定几篇高质量的相关文章。
  4. 内容优化:确保文章内容本身主题明确,有助于系统更好地理解其主旨并进行匹配。