在AnQiCMS中,高效地管理和展示网站标签,不仅能帮助用户更快地找到感兴趣的内容,还能有效提升网站的SEO表现。标签作为一种灵活的内容分类方式,能够将跨越不同分类甚至不同模型的内容关联起来,形成内容矩阵。下面,我们将从几个常见的应用场景出发,详细讲解如何在您的网站上展示常用标签列表,以及如何为特定文档显示其关联的标签。

标签的重要性

在AnQiCMS中,标签是一种强大的内容管理工具。它们允许您为文章、产品或其他内容类型附加关键词,这些关键词可以独立于传统的分类结构。对于用户而言,标签提供了一种发现相关内容的便捷途径。对于搜索引擎优化(SEO)来说,标签页能够创建更多主题相关的页面,增加网站的内部链接,有助于搜索引擎更好地理解网站内容结构。

一、展示网站常用标签列表 (例如在侧边栏、页脚或标签聚合页)

您可能希望在网站的显眼位置,比如侧边栏、页脚,或者专门的“标签云”页面,展示网站上使用频率高或最新发布的标签。这有助于用户快速浏览网站的核心内容主题。

在AnQiCMS中,您可以使用tagList标签来轻松实现这一需求。

1. 获取全站常用标签

如果您想展示全站范围内的热门或最新标签,可以通过tagList标签并设置itemId="0"来获取。limit参数则用于控制显示的标签数量。

<div class="tag-cloud">
    <h3>热门标签</h3>
    <ul>
        {% tagList tags with limit="20" itemId="0" %}
            {% for item in tags %}
                <li><a href="{{ item.Link }}" title="{{ item.Title }}">{{ item.Title }}</a></li>
            {% empty %}
                <li>暂无标签可显示。</li>
            {% endfor %}
        {% endtagList %}
    </ul>
</div>

代码说明:

  • {% tagList tags with limit="20" itemId="0" %}:这行代码告诉系统,我们要获取一个标签列表,并将其存储在名为tags的变量中。limit="20"表示我们只显示20个标签。itemId="0"是这里的关键,它明确指示系统获取*所有*可用标签,而不仅仅是与当前页面相关的标签。
  • {% for item in tags %}:这是一个循环结构,它会遍历tags变量中包含的每一个标签。
  • {{ item.Link }}:在循环中,item变量代表当前标签。item.Link会输出该标签对应的URL地址。
  • {{ item.Title }}item.Title则输出标签的名称。
  • {% empty %}:如果tags列表中没有任何标签,就会显示{% empty %}<li>暂无标签可显示。</li>之间的内容。
  • </div>标签包裹了整个标签列表,您可以根据自己的网站设计,将其放置在页面的任何位置,比如公共侧边栏模板文件(partial/sidebar.html)或页脚(partial/footer.html)中。

2. 将标签列表集成到模板

为了保持代码的模块化和可重用性,建议将上述标签列表代码片段保存为一个独立的模板文件,例如 partial/common_tags.html。然后,在您的主模板文件(如 index.htmlbase.html)或任何需要显示常用标签的地方,使用 include 标签将其引入:

{# 在您的主模板文件(例如 index.html 或 base.html)中 #}
<div class="main-content">
    {# ... 您的主要内容 ... #}
    <aside class="sidebar">
        {% include "partial/common_tags.html" %}
    </aside>
</div>

这样,您就可以在不修改主模板结构的情况下,轻松更新或调整标签列表的显示方式。

二、展示特定文档的标签 (例如在文章详情页)

在文章或产品详情页,展示与当前文档直接关联的标签,是提升用户体验和内容相关性的重要方式。用户可以点击这些标签,探索更多同主题的内容。

同样,我们仍然使用tagList标签,但这次的用法略有不同。

1. 获取当前文档的标签

当您位于一个文档的详情页面时,tagList标签默认会尝试获取与当前文档关联的标签,无需显式指定itemId。但为了代码的清晰性和避免潜在的歧义,我们也可以显式地将当前文档的ID传递给itemId参数。

假设您当前正在查看一篇文档,并且文档的详情数据存储在名为archive的变量中(这通常在使用archiveDetail标签后自动获得),您可以这样显示其标签:

<div class="article-tags">
    <strong>标签:</strong>
    {% tagList tags with itemId=archive.Id limit="10" %}
        {% for item in tags %}
            <a href="{{ item.Link }}" class="tag-link">{{ item.Title }}</a>
        {% empty %}
            <span>该文档暂无标签。</span>
        {% endfor %}
    {% endtagList %}
</div>

代码说明:

  • {% tagList tags with itemId=archive.Id limit="10" %}:这里,