AnQiCMS 如何在首页显示最新发布的文章列表?

📅 👁️ 65

网站首页是访客抵达网站后的第一印象,及时更新的最新文章列表能够有效提升网站的活跃度和用户粘性。对于使用安企CMS(AnQiCMS)的用户来说,在首页展示最新发布的文章列表是一项基础且重要的功能,通过系统提供的灵活模板标签,可以轻松实现。

AnQiCMS 凭借其高效、可定制的特点,为用户提供了直观的模板系统。您无需深入了解复杂的后端代码,只需掌握其强大的模板标签用法,即可在网站前端自由地组织和展示内容。

第一步:找到您的首页模板文件

要修改首页内容,首先需要定位到当前网站正在使用的首页模板文件。通常情况下,安企CMS的模板文件位于您网站根目录下的 /template/ 文件夹内。在其中,您会找到一个以您的主题名称命名的文件夹(例如 default),进入该文件夹后,首页模板文件通常命名为 index.html 或位于 index/index.html

如果您不确定是哪个文件,可以查看您主题文件夹内的 config.json 文件,它会定义主题的基本信息。一旦找到 index.html 文件,您就可以开始编辑它,来添加最新文章的展示逻辑。

第二步:理解 archiveList 标签的核心用法

AnQiCMS 提供了 archiveList 标签,这是用来获取文章列表的核心工具。为了在首页显示最新发布的文章,我们需要配置这个标签来获取特定模型(通常是“文章模型”)下的内容,并按照发布时间倒序排列。

archiveList 标签有几个关键参数,对于显示最新文章至关重要:

  • moduleId:指定要获取哪个内容模型下的文章。在 AnQiCMS 中,“文章模型”通常对应的 moduleId1。如果您有自定义的文章模型,请根据后台“内容管理”->“内容模型”中实际的模型ID进行设置。
  • order:定义文章的排序方式。要显示最新发布的文章,我们通常会使用 id desc(按文章ID降序,新文章ID更大)或 CreatedTime desc(按创建时间降序)。两者都能达到显示最新文章的效果,id desc 通常更简洁。
  • limit:控制要显示的文章数量。例如,limit="5" 将显示最新的5篇文章。
  • type:通常设置为 list,表示获取一个简单的文章列表,而不是带有分页功能的列表(首页通常不需要分页)。

结合这些参数,一个基本的最新文章列表调用结构如下:

{% archiveList latestArticles with moduleId="1" order="id desc" limit="5" type="list" %}
    {% for article in latestArticles %}
        <!-- 在这里编写每篇文章的展示HTML结构 -->
    {% endfor %}
{% endarchiveList %}

在这段代码中,latestArticles 是一个自定义的变量名,用于存放获取到的最新文章数据,您可以在 for 循环中通过 article 变量来访问每篇文章的详细信息。

第三步:构建文章的显示结构

{% for article in latestArticles %} 循环内部,我们可以使用 article 变量来访问每篇文章的各种属性,并将其呈现在网页上。常见的文章属性包括:

  • article.Title:文章标题
  • article.Link:文章详情页链接
  • article.Description:文章摘要或简介
  • article.CreatedTime:文章发布时间(时间戳格式)
  • article.Thumb:文章缩略图地址
  • article.CategoryId:文章所属分类ID

下面我们来逐步完善文章的显示结构:

  1. 显示文章标题和链接:

    <h3><a href="{{ article.Link }}" title="{{ article.Title }}">{{ article.Title }}</a></h3>
    
  2. 格式化显示发布时间: AnQiCMS 提供了 stampToDate 标签,可以将时间戳格式化为易读的日期时间字符串。Go语言的日期格式化方式比较特殊,例如 2006-01-02 15:04:05 代表 年-月-日 时:分:秒

    <p class="article-meta">发布于:<span>{{ stampToDate(article.CreatedTime, "2006年01月02日") }}</span></p>
    
  3. 显示文章摘要:

    <p class="article-description">{{ article.Description }}</p>
    

    这里 article.Description 如果您在后台发布文章时没有手动填写,系统会自动从文章内容中提取一部分作为摘要。

  4. 显示文章缩略图: 如果文章设置了缩略图,可以显示出来以增加视觉吸引力。

    {% if article.Thumb %}
        <div class="article-thumbnail">
            <a href="{{ article.Link }}" title="{{ article.Title }}">
                <img src="{{ article.Thumb }}" alt="{{ article.Title }}">
            </a>
        </div>
    {% endif %}
    
  5. 显示文章所属分类: 您可以结合 categoryDetail 标签,根据 article.CategoryId 获取并显示文章的分类名称和分类链接。

    {% if article.CategoryId %}
        所属分类:<a href="{% categoryDetail with name='Link' id=article.CategoryId %}">{% categoryDetail with name='Title' id=article.CategoryId %}</a>
    {% endif %}
    

完整示例代码

将以上所有元素组合起来,您可以得到一个功能相对完整的最新文章列表展示区。您可以将其放置在首页模板(index.html)中您希望显示的位置。

<section class="latest-articles-section">
    <h2>最新动态</h2>
    <ul class="articles-list">
        {% archiveList latestArticles with moduleId="1" order="id desc" limit="5" type="list" %}
            {% for article in latestArticles %}
                <li class="article-item">
                    <div class="item-inner">
                        {% if article.Thumb %}
                            <div class="article-thumbnail">
                                <a href="{{ article.Link }}" title="{{ article.Title }}">
                                    <img src="{{ article.Thumb }}" alt="{{ article.Title }}">
                                </a>
                            </div>
                        {% endif %}
                        <div class="article-content">
                            <h3><a href="{{ article.Link }}" title="{{ article.Title }}">{{ article.Title }}</a></h3>
                            <p class="article-meta">
                                <span>发布于:{{ stampToDate(article.CreatedTime, "2006年01月02日") }}</span>
                                {% if article.CategoryId %}
                                    <span>所属分类:<a href="{% categoryDetail with name='Link' id=article.CategoryId %}">{% categoryDetail with name='Title' id=article.CategoryId %}</a></span>
                                {% endif %}
                            </p>
                            <p class="article-description">{{ article.Description|truncatechars:100 }}</p> {# 截取前100个字符 #}
                            <a href="{{ article.Link }}" class="read-more-btn">阅读全文 &raquo;</a>
                        </div>
                    </div>
                </li>
            {% empty %}
                <li class="no-content-message">目前还没有发布的文章,敬请期待!</li>
            {% endfor %}
        {% endarchiveList %}
    </ul>
</section>

请注意: 上述代码中的 class 属性(如 latest-articles-section, articles-list 等)仅为

相关文章

如何在文档详情页显示上一篇和

在网站内容运营中,文档详情页面的用户体验至关重要。一个设计良好的页面不仅能有效展示内容,还能引导访客深入浏览更多相关信息。其中,为用户提供“上一篇”和“下一篇”的导航功能,是提升网站内部链接结构、降低跳出率并优化用户浏览路径的常用且高效的策略。这不仅有助于用户便捷地探索更多内容,也向搜索引擎传递了网站内容的关联性和深度,对SEO有着积极的促进作用。 得益于AnQiCMS强大而灵活的模板引擎

2025-11-07

怎样在`archiveList`中实现带分页功能的文档列表展示?

当我们管理网站内容时,经常会遇到这样的情况:某个分类下的文章、产品或新闻数量众多,如果把所有内容都堆砌在一个页面上,不仅会造成页面加载缓慢,影响用户体验,更会让访问者在海量信息中难以找到所需。这时候,引入分页功能就显得尤为重要了。分页能够将大量内容拆分成若干个小页面,让用户可以逐页浏览,极大地提升了网站的可用性和访问效率。 在 AnQiCMS 中,实现带分页功能的文档列表展示非常直观和灵活

2025-11-07

如何利用`archiveList`标签按指定条件(如最新、最热、推荐属性)展示文档列表?

AnQiCMS作为一个高效且灵活的内容管理系统,提供了丰富多样的内容展示方式,其中文档列表的呈现是网站运营中非常核心的一环。无论是网站首页、分类页面还是专题聚合页,我们都希望能根据不同的运营目标,动态地展示最新的文章、最受欢迎的内容,或是精心推荐的精品文档。这一切,都可以通过AnQiCMS强大的`archiveList`标签轻松实现

2025-11-07

如何在安企CMS模板中将Markdown内容正确渲染为HTML并显示数学公式和流程图?

内容是网站的灵魂,而如何高效、美观地呈现这些内容,是每一位运营者关心的话题。在安企CMS中,利用Markdown来撰写内容,不仅能大幅提升写作效率,还能轻松实现复杂的排版需求,例如插入数学公式和绘制流程图,这对于技术博客、教育站点或需要展示复杂业务流程的企业官网来说,无疑是如虎添翼的功能。 接下来,我们将一起探索如何在安企CMS的模板中,将Markdown内容正确地渲染为HTML

2025-11-07

如何根据特定分类ID在AnQiCMS网站上展示文档列表?

在AnQiCMS中,根据特定分类ID来展示文档列表是一项非常基础且常用的功能,它允许我们灵活地组织和呈现网站内容。AnQiCMS强大的模板标签系统让这项操作变得直观而高效。无论您希望在页面的特定位置手动插入某个分类的文档,还是想让整个分类页面自动展示其下的文档,系统都提供了相应的解决方案。 ###

2025-11-07

AnQiCMS支持哪些方式对文章列表进行排序显示,例如按浏览量或发布时间?

网站内容列表的展示顺序,是影响用户体验和内容运营效果的关键因素之一。一个优秀的CMS系统,应当提供灵活的排序机制,让运营者能够根据内容特性和推广策略,自由调整文章的呈现方式。安企CMS深谙此道,为用户提供了多种文章列表排序方式,帮助您精准控制内容的曝光与流量导向。 ### 核心排序功能:`archiveList`标签的强大应用 在安企CMS中

2025-11-07

如何在AnQiCMS模板中获取并显示当前文章的详细内容?

构建一个内容丰富的网站,文章详情页无疑是核心所在。它承载着网站最具体、最有价值的信息,也是用户停留时间最长、互动最频繁的页面之一。在AnQiCMS(安企CMS)中,借助其灵活的模板引擎和丰富的标签系统,我们可以轻松地获取并优雅地展示当前文章的详细内容。 AnQiCMS的模板系统设计简洁高效,类似于Django模板语法,通过双花括号 `{{变量}}` 获取变量值,单花括号加百分号 `{% 标签

2025-11-07

AnQiCMS如何实现多级导航菜单的显示,并支持二级下拉菜单?

一个清晰、直观的导航系统是任何网站成功的关键,它能引导访问者快速找到所需信息,极大提升用户体验。AnQiCMS作为一个高效的内容管理系统,提供了灵活强大的功能来构建和管理网站的导航菜单,包括对多级结构和二级下拉菜单的完美支持。 ### 在AnQiCMS后台定义您的导航结构 在AnQiCMS中,构建多级导航菜单的第一步是在后台管理界面进行配置。您可以前往**“后台设置”**区域

2025-11-07