在网站运营中,及时向访问者展示最新发布的内容,不仅能有效提升用户体验,还能增强网站的活跃度。安企CMS(AnQiCMS)提供了直观且强大的模板标签功能,让您轻松实现在网站前台显示最新的文章列表及其发布时间。

理解安企CMS的文章展示机制

安企CMS采用模板标签的方式来调用和展示网站数据。这意味着,您无需编写复杂的后端代码,只需在模板文件中使用预定义的标签,系统就能自动从数据库中提取并呈现所需的内容。对于文章列表,我们主要会用到 archiveList 标签和 stampToDate 时间格式化标签。

核心步骤:调用最新文章列表与发布时间

要在前台显示最新的文章列表和它们的发布时间,我们可以遵循以下几个简单步骤:

  1. 确定文章来源和排序方式 首先,我们需要告诉安企CMS要显示哪些文章以及如何排序。archiveList 标签是获取文章列表的关键。

    • 指定内容模型(moduleId:在安企CMS中,文章、产品等都归属于不同的“内容模型”。通常,文章的内容模型ID为1。因此,您可以通过设置 moduleId="1" 来确保我们获取的是文章。
    • 指定排序(order:为了显示最新文章,我们需要按照文章的发布时间(通常对应数据库中的ID或创建时间)进行降序排列。order="id desc" 是一种常用的方式,它会按照文章ID从大到小排序,由于ID是自增的,这通常等同于按发布时间从新到旧排序。
    • 限制显示数量(limit:您可以根据页面设计需要,限制列表中显示的文章数量,例如 limit="10" 会显示最新的10篇文章。
    • 列表类型(type:对于常规列表展示,通常设置为 type="list"
  2. 使用 archiveList 标签获取数据 在您的模板文件(例如网站首页 index.html 或文章列表页 archive/list.html 等)中,使用 archiveList 标签来包裹您的文章列表结构。

    {% archiveList archives with moduleId="1" order="id desc" limit="10" type="list" %}
        {# 文章列表将在这里循环显示 #}
    {% endarchiveList %}
    

    这里,我们将获取到的文章列表赋值给了名为 archives 的变量。

  3. 循环输出文章标题、链接和发布时间 archiveList 标签会返回一个文章对象数组,您可以使用 for 循环遍历这个数组,并提取每篇文章的详细信息。

    • 文章标题:通过 {{item.Title}} 来显示文章标题。
    • 文章链接:通过 {{item.Link}} 来获取文章的详情页链接。
    • 发布时间:文章的创建时间保存在 item.CreatedTime 字段中,这是一个时间戳。为了将其显示为可读的日期格式,我们需要使用 stampToDate 标签进行格式化,例如 {{stampToDate(item.CreatedTime, "2006-01-02 15:04")}} 会将其格式化为“年-月-日 时:分”的形式。

完整的代码示例:

将以下代码片段放置到您希望显示最新文章列表的模板位置,例如网站首页的某个区块或侧边栏文件中:

<div class="latest-articles-list">
    <h3>最新文章</h3>
    <ul>
        {% archiveList archives with moduleId="1" order="id desc" limit="10" type="list" %}
            {% for item in archives %}
            <li>
                <a href="{{ item.Link }}" title="{{ item.Title }}">
                    <span class="article-title">{{ item.Title }}</span>
                    <span class="article-date">{{ stampToDate(item.CreatedTime, "2006-01-02") }}</span> {# 显示年-月-日 #}
                </a>
            </li>
            {% empty %}
            <li>暂无最新文章。</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</div>

这段代码会生成一个无序列表,其中包含最新的10篇文章。每篇文章显示其标题和发布日期。如果没有任何文章,则会显示“暂无最新文章。”的提示。

放置模板代码的位置

这段代码可以灵活地放置在您网站的任何模板文件中。例如:

  • 网站首页 (index.html):通常用于展示网站的精选内容。
  • 侧边栏 (partial/sidebar.html):在博客或资讯站中,侧边栏常用于显示热门文章、最新文章等。
  • 特定分类页面 (archive/list.html):可以在某个分类页面的顶部或底部,突出显示该分类下的最新文章。

通过上述步骤,您就可以轻松地在安企CMS搭建的网站前台,优雅地展示最新的文章列表及其发布时间,为访问者提供新鲜、有价值的内容。


常见问题 (FAQ)

  1. Q: 我只想显示特定分类下的最新文章,应该怎么做? A: 您可以在 archiveList 标签中添加 categoryId 参数来指定文章分类。例如,如果您的分类ID是5,您可以这样写:{% archiveList archives with moduleId="1" categoryId="5" order="id desc" limit="10" type="list" %}

  2. Q: 发布时间的显示格式不满意,如何调整? A: stampToDate 标签的第二个参数是格式字符串。您可以根据需要调整。例如,"2006年01月02日" 会显示为“2006年01月02日”,"15:04" 会显示为“15:04”(仅时间)。请参考Go语言的时间格式化规则来设置。

  3. Q: 如果文章列表很长,我需要分页功能,应该如何实现? A: 如果您需要分页显示,可以将 archiveList 标签的 type 参数设置为 "page",然后结合 pagination 标签一起使用。例如: {% archiveList archives with moduleId="1" order="id desc" limit="10" type="page" %} … (文章列表循环) … {% pagination pages with show="5" %} (分页链接) {% endpagination %} 这将在文章列表下方生成分页导航。