如何在文章详情页中动态显示文章的发布时间并进行格式化?

📅 👁️ 73

在安企CMS中管理内容,发布时间无疑是每篇文章不可或缺的重要元信息。它不仅能让读者了解内容的时效性,对网站的SEO也有着积极的影响。好在安企CMS为我们提供了非常便捷和灵活的方式,来在文章详情页中动态显示并格式化这些发布时间。

获取文章的发布时间

在安企CMS的文章详情页面,系统会自动将当前文章的所有信息作为上下文变量提供给我们。其中,文章的发布时间存储在 CreatedTime 字段中。这个字段以时间戳的形式保存,代表了文章首次发布的具体时刻。

如果您想直接在模板中获取这个时间戳,可以简单地通过 {{ archive.CreatedTime }} 来实现。这里的 archive 通常就是文章详情页中代表当前文章的对象。

格式化发布时间:`stampToDate` 标签的妙用

仅仅显示一个长串的时间戳,显然不是我们希望的效果。我们需要将其转换为人类可读的日期和时间格式。安企CMS为此提供了一个非常实用的内置标签:stampToDate

stampToDate 标签的设计非常直观,它接受两个参数:第一个是要格式化的时间戳,第二个是您期望的日期时间格式字符串。

这里的格式字符串有些特别,它不是我们常见的 YYYY-MM-DD 这种形式,而是Go语言特有的,基于 2006-01-02 15:04:05 这个参考时间点进行定义的。您只需将这个参考时间点中的不同部分替换成您想要显示的实际日期或时间即可。

让我们看一些常见的格式化示例:

  • 只显示年份、月份和日期: {{ stampToDate(archive.CreatedTime, "2006-01-02") }}
    • 例如:2023-10-26
  • 显示中文的年月日: {{ stampToDate(archive.CreatedTime, "2006年01月02日") }}
    • 例如:2023年10月26日
  • 显示时分秒: {{ stampToDate(archive.CreatedTime, "15:04:05") }}
    • 例如:14:30:00
  • 显示完整的日期和时间: {{ stampToDate(archive.CreatedTime, "2006-01-02 15:04:05") }}
    • 例如:2023-10-26 14:30:00
  • 显示星期几和日期: {{ stampToDate(archive.CreatedTime, "Mon, 02 Jan 2006") }}
    • 例如:Thu, 26 Oct 2023

您可以看到,通过灵活组合 2006-01-02 15:04:05 中的数字和文字,我们可以定义出几乎任何我们想要的日期时间格式。

在文章详情页中整合显示发布时间

通常,我们会在文章详情页的模板文件(例如 detail.html)中进行这些操作。找到您希望显示发布时间的位置,然后插入相应的 stampToDate 标签。

一个典型的文章详情页可能包含标题、元信息(如发布时间、分类、浏览量)和文章内容。我们可以这样来组织:

<article class="article-detail">
    <h1 class="article-title">{{ archive.Title }}</h1>
    <div class="article-meta">
        <span class="publish-time">发布于:{{ stampToDate(archive.CreatedTime, "2006年01月02日 15:04") }}</span>
        <span class="category">分类:<a href="{% categoryDetail with name='Link' id=archive.CategoryId %}">{% categoryDetail with name='Title' id=archive.CategoryId %}</a></span>
        <span class="views">浏览:{{ archive.Views }}次</span>
        {# 如果需要显示更新时间,可以使用 UpdatedTime 字段 #}
        {# <span class="update-time">更新于:{{ stampToDate(archive.UpdatedTime, "2006-01-02") }}</span> #}
    </div>
    <div class="article-content">
        {{ archive.Content|safe }}
    </div>
</article>

在这段代码中:

  • 我们直接通过 {{ archive.Title }} 获取文章标题。
  • 使用 stampToDate(archive.CreatedTime, "2006年01月02日 15:04") 将文章的发布时间戳格式化为“年-月-日 时:分”的形式。
  • archive.Content|safe 用于安全地显示文章内容,防止HTML代码被转义。

通过这样的设置,您的文章详情页就能动态、美观地展示发布时间了。

一些实用的考量

  • CreatedTimeUpdatedTime CreatedTime 记录的是文章首次发布的日期时间。如果文章经过多次修改,您可能还会对显示 UpdatedTime 字段感兴趣,它表示文章最后一次更新的时间。您可以根据网站的需求选择显示其中一个或两者。
  • 默认格式: 如果您在使用 archiveDetail 标签获取 CreatedTimeUpdatedTime 时,没有额外指定 format 参数,那么它在默认情况下会自动被格式化为 2006-01-02 的形式。
  • 模板文件位置: 文章详情页的模板通常位于您当前使用模板包的 archive/detail.html{模型table}/detail.html 路径下,具体名称和结构可能根据您的模板设计有所不同。

安企CMS的这种灵活机制,让我们可以轻松地对内容展示进行深度定制,确保网站的每一个细节都符合我们的运营需求。


常见问题 (FAQ)

  1. 问:为什么在格式化时间时要使用 2006-01-02 15:04:05 这样的特殊数字组合?它代表什么? 答:这是Go语言特有的时间格式化约定。Go语言不使用 YYYY-MM-DD 这种符号,而是使用一个固定的参考时间 2006-01-02 15:04:05.999999999 -0700 MST 来作为格式化模板。您只需要将这个参考时间点中对应年月日时分秒的部分替换成您想要的显示格式(例如,想显示两位数的月份就写 01,想显示完整年份就写 2006),系统就会按照您的替换规则进行格式化。

  2. 问:我只想显示文章的更新时间,应该使用哪个字段? 答:文章的更新时间由 archive.UpdatedTime 字段表示。它的使用方法和 CreatedTime 完全相同,同样需要搭配 stampToDate 标签进行格式化,例如:{{ stampToDate(archive.UpdatedTime, "2006年01月02日") }}

  3. 问:如果我在 stampToDate 标签中不指定格式字符串,会怎样? 答:在 archiveDetail 标签中直接获取 CreatedTimeUpdatedTime 且不指定 format 参数时,它在默认用法下会被格式化为 `2006-0

相关文章

AnQiCMS模板如何调用并显示友情链接列表?

在使用AnQiCMS搭建和管理网站时,如何有效地在模板中调用并展示友情链接列表是一个常见且实用的需求。友情链接不仅能帮助提升网站的SEO表现,还能为用户提供更多有价值的外部资源。AnQiCMS强大的模板引擎结合其后台功能,让这一操作变得非常直接。 ### 管理友情链接:从后台开始 在将友情链接显示到网站前端之前,我们首先需要在AnQiCMS的后台进行设置

2025-11-08

如何在文章内容编辑器中插入段落素材库的预设内容?

在安企CMS中,高效地管理和发布内容是提升运营效率的关键。对于那些需要频繁使用特定语句、介绍模块或标准声明的场景,手动重复输入不仅耗时,还可能引入不一致性。安企CMS深知内容创作的价值与挑战,因此在文章内容编辑器中巧妙地融入了“段落素材库”功能,旨在帮助您轻松解决这一痛点。 今天,我们就来深入了解如何在文章内容编辑器中,便捷地插入段落素材库的预设内容,让您的内容生产效率倍增

2025-11-08

AnQiCMS如何显示某个特定Tag下的所有文章列表?

在AnQiCMS中,显示某个特定标签(Tag)下的所有文章列表是一个常见且实用的内容运营需求。通过AnQiCMS灵活的模板系统,您可以轻松实现这一功能,为用户提供更精准的内容导航。 首先,让我们了解一下AnQiCMS中的标签机制。标签是内容组织的重要工具,它允许您为文章、产品等内容添加关键词,从而将相关内容进行横向关联,即使这些内容分属不同的分类。这种关联方式有助于用户发现更多感兴趣的内容

2025-11-08

如何在留言表单中集成AnQiCMS内置的验证码功能来防止垃圾信息?

作为网站运营者,我们常常会遇到一个令人头疼的问题:垃圾信息。无论是留言板还是评论区,不请自来的广告、恶意链接和无意义内容,不仅会损害网站形象,增加管理负担,甚至可能影响网站的SEO表现。好在安企CMS在设计之初就考虑到了这些安全需求,内置了验证码功能,帮助我们轻松应对这些挑战。 今天,我们就来聊聊如何在您的安企CMS网站的留言或评论表单中集成这一强大的验证码功能,让您的网站保持清爽与安全

2025-11-08

AnQiCMS如何根据文章浏览量(Views)进行排序并显示最热门的文章?

在网站运营中,如何高效地向访客展示最受欢迎的文章,是提升用户参与度和优化内容策略的关键一环。当访客能够轻松找到他们感兴趣的热门内容时,不仅能延长他们在网站上的停留时间,还能有效促进内容的传播。安企CMS(AnQiCMS)提供了一套灵活且强大的模板标签系统,让网站管理者无需复杂的技术操作,即可轻松实现文章按浏览量排序,并展示最热门的内容。 ### 核心功能揭秘

2025-11-08

如何在AnQiCMS模板中实现多级导航菜单的嵌套显示?

在AnQiCMS中构建一个清晰、功能丰富的网站,离不开灵活多样的导航菜单。多级导航不仅能帮助访问者迅速定位所需内容,更能优化网站结构,对搜索引擎友好。AnQiCMS强大的模板引擎和后台管理功能,让实现复杂的嵌套导航变得直观而高效。 ### AnQiCMS 中的导航菜单构成:理解基础 在AnQiCMS中,导航菜单的实现分为两个主要部分:首先是在后台进行配置和数据管理

2025-11-08

AnQiCMS如何设置和显示网站的Logo图片?

在 AnQiCMS 搭建的网站中,Logo 图片是品牌识别的核心要素,它不仅能提升网站的专业度,也能加深访客对品牌的印象。AnQiCMS 提供了简洁直观的方式来设置和显示你的网站 Logo。 ### 设置网站 Logo:让品牌标识入驻安企CMS 首先,要让你的网站拥有独特的标识,第一步就是在 AnQiCMS 后台上传 Logo 图片。这个过程非常直接: 1. **登录 AnQiCMS

2025-11-08

如何在AnQiCMS中配置并显示网站的联系方式信息(如电话、邮箱、微信)?

网站的联系方式是与用户建立信任、提供支持和促进沟通的关键桥梁。无论是提供咨询、解决问题还是促成合作,清晰易寻的联系信息都能大大提升用户体验和网站的专业度。在AnQiCMS中,配置和展示这些信息是一项直观且灵活的操作。 ### 后台配置您的网站联系方式 要在AnQiCMS中管理网站的联系方式,您可以轻松地通过后台进行设置。首先,登录您的AnQiCMS后台管理界面。在左侧导航栏中

2025-11-08