在网站内容运营中,内容的发布与更新时间是传递信息时效性、建立用户信任度的关键要素。对于搜索引擎优化(SEO)而言,清晰的时间信息也有助于提升内容的新鲜度评分。安企CMS深谙此道,为用户提供了灵活多样的标签和方法,帮助您在网站前端准确、美观地展示这些时间信息。
接下来,我们将一起探索安企CMS是如何帮助我们管理和展示内容发布与更新时间的。
内容发布与更新的核心时间标签
安企CMS在内容管理中,为每一篇文档(无论是文章、产品还是其他自定义模型的内容)都内置了两个重要的时间属性:内容的发布时间和更新时间。
发布时间(
CreatedTime) 每当我们在安企CMS后台发布一篇文档时,系统便会自动记录下这个操作发生的精确时间。这个初始创建时间就是内容的发布时间,它代表了内容首次面世的时刻。在模板中,我们可以通过CreatedTime这一字段来获取它。例如,在文档详情页或文档列表页,您可以通过以下方式调用发布时间:
{# 在文档详情页直接获取当前文档的发布时间 #} <div>发布日期:{{ archive.CreatedTime }}</div> {# 在文档列表循环中获取每篇文章的发布时间 #} {% archiveList archives with type="list" limit="10" %} {% for item in archives %} <div>文章标题:{{ item.Title }},发布于:{{ item.CreatedTime }}</div> {% endfor %} {% endarchiveList %}您会注意到,直接输出
{{ item.CreatedTime }}或{{ archive.CreatedTime }}可能会得到一串数字,这其实是Unix时间戳,它需要进一步格式化才能变成我们日常阅读的日期时间。更新时间(
UpdatedTime) 随着网站内容的不断维护和完善,我们经常需要对已发布的内容进行修改和更新。安企CMS同样记录了内容的每一次重要修改,并提供了UpdatedTime标签来显示内容的最新更新时间。这对于用户了解内容的实时性,以及搜索引擎判断内容是否保持活跃和新鲜都非常重要。调用更新时间的方式与发布时间类似:
{# 在文档详情页获取当前文档的更新时间 #} <div>最后更新:{{ archive.UpdatedTime }}</div> {# 在文档列表循环中获取每篇文章的更新时间 #} {% archiveList archives with type="list" limit="10" %} {% for item in archives %} <div>文章标题:{{ item.Title }},更新于:{{ item.UpdatedTime }}</div> {% endfor %} {% endarchiveList %}同样,
UpdatedTime默认输出的也是时间戳,需要我们进行格式化处理。
灵活的时间格式化利器:stampToDate 标签
由于 CreatedTime 和 UpdatedTime 默认以时间戳形式呈现,为了让这些时间信息更具可读性,安企CMS提供了一个功能强大的模板函数 stampToDate。这个标签能够将时间戳转换为各种自定义的日期时间格式。
stampToDate 的使用方法非常直观:
{{stampToDate(时间戳, "格式")}}
这里的“时间戳”就是我们通过 CreatedTime 或 UpdatedTime 获取到的数字,“格式”部分则遵循Go语言的时间格式化标准。理解Go语言的时间格式化可能初听有些陌生,但它非常灵活,通过一个特定的参考时间 2006-01-02 15:04:05 来定义输出格式。您只需将这个参考时间中的年、月、日、时、分、秒替换成您想要的显示方式即可。
一些常用的格式化示例:
- 显示年月日:
{{stampToDate(item.CreatedTime, "2006-01-02")}}会显示为2024-03-15 - 显示中文年月日:
{{stampToDate(item.CreatedTime, "2006年01月02日")}}会显示为2024年03月15日 - 显示完整日期和时间:
{{stampToDate(item.UpdatedTime, "2006-01-02 15:04:05")}}会显示为2024-03-15 10:30:45 - 显示简洁月日:
{{stampToDate(item.CreatedTime, "01-02")}}会显示为03-15 - 显示小时和分钟:
{{stampToDate(item.UpdatedTime, "15:04")}}会显示为10:30
结合 stampToDate 标签,我们可以这样展示发布和更新时间:
{# 在文档详情页显示格式化后的发布和更新时间 #}
<div>发布日期:{{stampToDate(archive.CreatedTime, "2006年01月02日")}}</div>
<div>最后更新:{{stampToDate(archive.UpdatedTime, "2006-01-02 15:04")}}</div>
{# 在文档列表页显示格式化后的发布时间 #}
{% archiveList archives with type="list" limit="10" %}
{% for item in archives %}
<div>
<h3>{{ item.Title }}</h3>
<p>发布于:{{stampToDate(item.CreatedTime, "2006-01-02")}}</p>
<p>更新于:{{stampToDate(item.UpdatedTime, "2006-01-02")}}</p>
</div>
{% endfor %}
{% endarchiveList %}
其他时间相关的辅助标签与过滤器
除了上述主要标签,安企CMS还提供了其他一些与时间相关的辅助功能:
显示当前服务器时间:
{% now "格式" %}如果您的页面需要显示当前的服务器时间,例如在页脚显示“版权所有 © 2024”,可以使用{% now "2006" %}来获取当前的年份。<div>版权所有 © {% now "2006" %} 安企CMS</div>date过滤器 安企CMS也提供了date过滤器,它的作用与stampToDate类似,可以格式化时间。但值得注意的是,date过滤器期望的输入是一个Go语言time.Time类型的变量,而不是时间戳。在实际使用中,由于CreatedTime和UpdatedTime都是时间戳,所以stampToDate通常是处理这些字段更便捷的选择。
实际应用中的价值
合理地展示内容的发布和更新时间,不仅仅是信息透明度的体现,更是对网站SEO和用户体验的双重提升。用户能够直观地判断内容的“新鲜度”,尤其是在新闻、技术教程或产品评测等对时效性要求较高的场景下。同时,搜索引擎也会将内容的更新频率和最新发布时间作为重要的排名参考因素,有助于网站内容在搜索结果中获得更好的可见度和点击率。
总而言之,安企CMS在时间信息的展示上提供了细致入微的支持,从基础的时间数据获取到灵活的格式化工具,都能帮助我们更好地管理和呈现网站内容的时效性。
常见问题 (FAQ)
1. 为什么我直接在模板中输出 {{archive.CreatedTime}} 得到的是一串数字,而不是日期格式?
您看到的这串数字是Unix时间戳,它是表示从1970年1月1日0时0分0秒(UTC)至今的秒数。为了将其转换为可读的日期时间格式,您需要使用安企CMS提供的 stampToDate 模板函数进行格式化,例如 {{stampToDate(archive.CreatedTime, "2006-01-02 15:04:05")}}。
2. 我想在文章列表和详情页都显示发布时间,是不是需要写两套不同的标签?
不需要。安企CMS设计了统一的标签调用方式。无论是在 archiveList 循环中的 item 变量,还是在 archiveDetail 中的 archive 变量,它们都包含 CreatedTime 和 UpdatedTime 字段。您可以使用相同的 stampToDate 函数和格式化参数来展示它们,确保了模板代码的简洁性和一致性。
3. 如果我只希望显示发布日期,不显示具体时间,该怎么设置 stampToDate 的格式?
如果您只想显示日期,可以省略Go语言时间格式参考中的小时、分钟和秒部分。例如,使用 "2006-01-02" 就可以只显示年份、月份和日期,例如 2024-03-15。如果您需要显示为中文格式,可以使用 "2006年01月02日"。