在AnQiCMS中,灵活地展示内容是其核心优势之一,这不仅关乎用户体验,更直接影响网站的SEO表现。文档的发布时间、更新时间、浏览量以及所属分类这些关键信息,常常是用户关注的焦点,也是搜索引擎评估内容时效性和相关性的重要指标。好在AnQiCMS为我们提供了直观且强大的模板标签,让这些信息的展示变得非常简单。

接下来,我们将一起探讨如何在您的AnQiCMS网站中,轻松自如地显示这些重要的文档信息。

在文档详情页显示核心信息

当我们浏览一篇具体的文章或产品详情时,通常需要在一个显眼的位置展示其发布、更新时间、浏览量和所属分类。这可以通过AnQiCMS的archiveDetail标签轻松实现。

显示发布时间(CreatedTime)和更新时间(UpdatedTime): AnQiCMS中的CreatedTime字段记录了文档的发布时间,而UpdatedTime则记录了文档的最后更新时间。这两个字段存储的是时间戳,为了让它们以人类可读的格式呈现,我们需要借助stampToDate标签进行格式化。

例如,如果您想以“年-月-日”的格式显示发布时间,可以这样使用:

发布于:{{ stampToDate(archive.CreatedTime, "2006-01-02") }}

如果需要精确到“年-月-日 时:分”,则可以这样:

更新于:{{ stampToDate(archive.UpdatedTime, "2006-01-02 15:04") }}

这里archive代表当前文档的整个对象,而"2006-01-02"等是Go语言的日期格式化标准,您可以根据需要调整。值得注意的是,UpdatedTime的展示对于告诉搜索引擎和用户您的内容是新鲜且维护的非常重要。如果文档内容有修改,这个时间会自动更新,而CreatedTime则保持不变。

显示文档浏览量(Views): 文档的浏览量是衡量其受欢迎程度的重要指标。在AnQiCMS中,浏览量存储在Views字段中,显示它非常直接:

阅读量:{{ archive.Views }}

您可以根据设计需求在数字后加上“次”、“阅读”等单位,让信息更清晰。

显示文档所属分类: 每篇文档都归属于一个分类,展示这一信息有助于用户理解内容的上下文,并方便他们进一步探索相关内容。您可以通过archive.Category对象直接获取分类的详细信息,例如分类名称和链接。

所属分类:<a href="{{ archive.Category.Link }}">{{ archive.Category.Title }}</a>

这种方式简洁明了,直接利用了archiveDetail标签获取的当前文档对象中包含的分类信息。

综合起来,在一个文档详情页,您可能会看到类似如下的布局代码:

<article>
    <h1>{{ archive.Title }}</h1>
    <div class="meta-info">
        <span>发布于:{{ stampToDate(archive.CreatedTime, "2006-01-02") }}</span>
        <span>更新于:{{ stampToDate(archive.UpdatedTime, "2006-01-02 15:04") }}</span>
        <span>阅读量:{{ archive.Views }} 次</span>
        <span>所属分类:<a href="{{ archive.Category.Link }}">{{ archive.Category.Title }}</a></span>
    </div>
    <div class="content">
        {{ archive.Content|safe }} {# 注意这里使用了safe过滤器以避免HTML内容被转义 #}
    </div>
</article>

在文档列表页显示核心信息

在文档列表页,如首页、分类列表页或搜索结果页,我们通常会循环展示多篇文档的简要信息。这时,AnQiCMS的archiveList标签就派上了用场。

archiveList标签允许您根据分类、模块、推荐属性等多种条件获取文档列表。在循环遍历这些文档时,您可以像在详情页一样,访问每篇文档的CreatedTimeUpdatedTimeViews和分类信息。

以下是一个展示文档列表的示例,其中包含了发布时间、浏览量和所属分类:

<div class="document-list">
    {% archiveList archives with type="page" limit="10" %} {# type="page"表示启用分页 #}
        {% for item in archives %}
        <div class="document-item">
            <h2><a href="{{ item.Link }}">{{ item.Title }}</a></h2>
            <div class="item-meta">
                <span>发布于:{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span>
                <span>阅读量:{{ item.Views }} 次</span>
                <span>所属分类:
                    {% categoryDetail categoryInfo with name="Title" id=item.CategoryId %}
                    {% categoryDetail categoryLink with name="Link" id=item.CategoryId %}
                    <a href="{{ categoryLink }}">{{ categoryInfo }}</a>
                </span>
            </div>
            <p>{{ item.Description }}</p>
            <a href="{{ item.Link }}" class="read-more">阅读更多</a>
        </div>
        {% endfor %}
    {% endarchiveList %}
    {# 列表页通常会配合分页标签 pagination 使用 #}
    {% pagination pages with show="5" %}
        {# 这里是分页导航代码 #}
    {% endpagination %}
</div>

在此示例中,itemarchiveList循环中的每个文档对象。我们直接通过item.CreatedTimeitem.Views获取数据。对于分类信息,我们利用item.CategoryId配合categoryDetail标签来获取分类的TitleLink,因为在列表循环中,item.Category对象可能不会默认包含完整的分类详情,使用categoryDetail能确保获取到准确的分类信息。

实用技巧与**实践

在展示这些信息时,有一些小细节可以帮助您提升网站的专业度和用户体验:

  1. 明确标签含义: 在时间信息前加上“发布于”、“更新于”等字样,让用户一眼明了。
  2. 善用更新时间: UpdatedTime的存在对于那些需要定期更新的内容(如技术教程、行业分析等)尤其重要。它不仅能向用户表明内容的“新鲜度”,也是搜索引擎判断内容质量和时效性的重要依据。如果您的文章长期未更新,UpdatedTime将与CreatedTime相同,这意味着内容发布后未曾修改。
  3. 灵活的日期格式化: stampToDate标签支持Go语言丰富的日期时间格式化字符串,您可以根据设计需求,显示“刚刚”、“几分钟前”或者具体的年-月-日时分秒,这让您的网站时间显示更加灵活多样。
  4. 分类导航的引导: 将所属分类设计为可点击的链接,可以直接跳转到该分类的列表页,方便用户深入浏览同类内容,提升网站的内部链接结构。
  5. 定时发布的应用: AnQiCMS的CreatedTime字段在后台可以设置为未来时间,实现文档的定时发布。这意味着您可以在文档还未正式上线前,