网站运营中,如何让访问者在浏览完一篇精彩内容后,能继续沉浸在您的站点,发现更多感兴趣的信息?答案之一就是智能地展示相关文档。这不仅能有效提升用户体验,延长用户在网站上的停留时间,对于搜索引擎优化(SEO)而言,也能通过内部链接的构建,帮助蜘蛛更好地爬取和理解网站结构,从而提升内容的相关性和网站整体权重。
在安企CMS中,获取并显示相关文档列表,并不是一件复杂的事情。这得益于系统灵活的模板标签体系,它能让我们以非常直观的方式,将技术信息转化为实用的内容展示。
理解安企CMS的关联机制
安企CMS在设计之初就考虑了内容的互联互通。它能通过多种维度来理解内容之间的“相关性”,例如通过文档的分类、关键词、甚至是内容本身的主题。同时,系统也允许我们手动指定一些关联,为内容运营提供了极大的灵活性。
在模板中,我们主要会用到archiveList这个强大的标签来调用文档列表,并通过其中的type参数来指定我们想要获取的是“相关文档”。
核心功能:使用archiveList标签展示相关文档
要在文档详情页底部展示相关文档,最直接的方式就是使用archiveList标签,并将type参数设置为"related"。系统会智能地根据当前文档的内容、分类等因素,自动筛选出与当前文档最接近的其他文档。
我们可以这样来放置代码:
<section class="related-articles">
<h3>你可能还会喜欢:</h3>
{% archiveList archives with type="related" limit="5" %}
{% for item in archives %}
<article class="related-item">
<a href="{{ item.Link }}">
{% if item.Thumb %}
<img src="{{ item.Thumb }}" alt="{{ item.Title }}" class="related-thumb">
{% endif %}
<h4 class="related-title">{{ item.Title }}</h4>
</a>
<p class="related-description">{{ item.Description|truncatechars:80 }}</p>
</article>
{% empty %}
<p>目前没有找到与当前内容相关的推荐文档。</p>
{% endfor %}
{% endarchiveList %}
</section>
这段代码首先声明了一个section,标题为“你可能还会喜欢:”。接着,archiveList标签会尝试获取5篇与当前文档相关的文章,并把它们存储在archives变量中。我们通过for循环遍历archives,为每一篇文章生成一个包含标题、缩略图和简介的链接。如果系统没有找到任何相关文档,{% empty %}部分的内容就会显示出来,避免页面出现空白。
这里,limit="5"参数控制了显示的相关文档数量,你可以根据页面布局和内容策略调整这个数字。item.Thumb用于显示文章的缩略图,item.Description|truncatechars:80则会截取文章简介的前80个字符,确保布局整洁。
深入定制:利用like参数提升相关性精度
除了系统自动判断相关性,安企CMS还提供了like参数,让我们能更精细地控制相关文档的匹配逻辑。这个参数在使用type="related"时特别有用。
基于关键词进行匹配:like="keywords"
如果你的文档都设置了详细的关键词(在后台“发布文档”界面中可以填写),那么你可以告诉系统,优先基于这些关键词来匹配相关文档。当like设置为"keywords"时,系统会根据当前文档的第一个关键词去寻找其他包含相同关键词的文档。
<section class="keyword-related-articles">
<h3>基于关键词的推荐:</h3>
{% archiveList archives with type="related" like="keywords" limit="5" %}
{% for item in archives %}
<article class="related-item">
<a href="{{ item.Link }}">
<h4 class="related-title">{{ item.Title }}</h4>
</a>
<p class="related-description">{{ item.Description|truncatechars:80 }}</p>
</article>
{% empty %}
<p>目前没有找到基于关键词的推荐文档。</p>
{% endfor %}
{% endarchiveList %}
</section>
这种方式适用于内容高度细分,且关键词管理规范的站点。
依赖手动关联:like="relation"
有时候,我们可能需要更精准的、人工干预的“相关性”。例如,某个产品页需要关联特定的测评文章,或者一篇综述文章需要链接到几篇核心观点支持的文章。安企CMS在后台文档编辑界面允许我们手动关联其他文档。当like设置为"relation"时,archiveList就会只显示这些手动关联的文档。
要使用这个功能,您需要在后台编辑文档时,找到“其他参数”部分(通常需要展开),里面会有一个“相关文档”的设置项,您可以在那里添加您希望关联的文档。
<section class="manual-related-articles">
<h3>编辑精选推荐:</h3>
{% archiveList archives with type="related" like="relation" limit="5" %}
{% for item in archives %}
<article class="related-item">
<a href="{{ item.Link }}">
<h4 class="related-title">{{ item.Title }}</h4>
</a>
<p class="related-description">{{ item.Description|truncatechars:80 }}</p>
</article>
{% empty %}
<p>目前没有编辑精选的推荐文档。</p>
{% endfor %}
{% endarchiveList %}
</section>
这种模式的优点是相关性极高,完全符合内容运营者的意图。
结合分类,进一步拓展相关性
除了上述type="related"的用法,我们还可以结合分类来获取相关文档。例如,在阅读一篇关于“安企CMS模板制作”的文章时,我们可能想看到同一分类下的其他文章。
这可以通过获取当前文档的分类ID,然后用archiveList标签按分类ID筛选来实现:
”`twig {% archiveDetail currentArchiveId with name=“Id” %} {# 获取当前文档ID #} {% archiveDetail currentCategoryId with name=“CategoryId” %} {# 获取当前文档的分类ID #}
<h3>同分类最新文档:</h3>
{% archiveList archives with type="list" categoryId=currentCategoryId excludeCategoryId=currentArchiveId order="id desc" limit="5" %}
{% for item in archives %}
<article class="related-item">
<a href="{{ item.Link }}">
<h4 class="related-title">{{ item.Title }}</h4>
</a>
<p class="related-description">{{ item.Description|truncatechars:80 }}</