在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标签允许您根据分类、模块、推荐属性等多种条件获取文档列表。在循环遍历这些文档时,您可以像在详情页一样,访问每篇文档的CreatedTime、UpdatedTime、Views和分类信息。
以下是一个展示文档列表的示例,其中包含了发布时间、浏览量和所属分类:
<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>
在此示例中,item是archiveList循环中的每个文档对象。我们直接通过item.CreatedTime和item.Views获取数据。对于分类信息,我们利用item.CategoryId配合categoryDetail标签来获取分类的Title和Link,因为在列表循环中,item.Category对象可能不会默认包含完整的分类详情,使用categoryDetail能确保获取到准确的分类信息。
实用技巧与**实践
在展示这些信息时,有一些小细节可以帮助您提升网站的专业度和用户体验:
- 明确标签含义: 在时间信息前加上“发布于”、“更新于”等字样,让用户一眼明了。
- 善用更新时间:
UpdatedTime的存在对于那些需要定期更新的内容(如技术教程、行业分析等)尤其重要。它不仅能向用户表明内容的“新鲜度”,也是搜索引擎判断内容质量和时效性的重要依据。如果您的文章长期未更新,UpdatedTime将与CreatedTime相同,这意味着内容发布后未曾修改。 - 灵活的日期格式化:
stampToDate标签支持Go语言丰富的日期时间格式化字符串,您可以根据设计需求,显示“刚刚”、“几分钟前”或者具体的年-月-日时分秒,这让您的网站时间显示更加灵活多样。 - 分类导航的引导: 将所属分类设计为可点击的链接,可以直接跳转到该分类的列表页,方便用户深入浏览同类内容,提升网站的内部链接结构。
- 定时发布的应用: AnQiCMS的
CreatedTime字段在后台可以设置为未来时间,实现文档的定时发布。这意味着您可以在文档还未正式上线前,