在安企CMS中,网站首页往往承担着展示最新内容、吸引访客目光的重要任务。如果您希望在首页上清晰地列出最新的10篇文章标题和简介,archiveList标签正是您实现这一目标的强大工具。它灵活而易用,能帮助您轻松地将动态内容呈现在网站最显眼的位置。

要将最新的10篇文章标题和简介呈现在首页,我们需要利用archiveList标签的几个核心参数来筛选和展示数据。这个标签通常用于获取各类文档的列表,无论是文章、产品还是其他自定义内容模型,它都能派上用场。

首先,您需要打开您网站的首页模板文件。根据您模板的组织方式,这可能是在 template/your_template_name/index/index.htmltemplate/your_template_name/index.html

在模板文件中,我们会这样构建archiveList标签:

{% archiveList archives with type="list" limit="10" order="id desc" moduleId="1" %}
    {% for item in archives %}
    <div class="latest-article-item">
        <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>
        <p>{{item.Description|safe}}</p>
        <span class="article-date">发布日期:{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
        <a href="{{item.Link}}" class="read-more">阅读详情</a>
    </div>
    {% empty %}
    <p>暂时没有文章可供展示。</p>
    {% endfor %}
{% endarchiveList %}

让我们一步步解析这段代码,看看每个参数和部分是做什么用的:

  • {% archiveList archives with ... %}: 这是archiveList标签的开始,archives是我们给获取到的文章列表起的变量名。在标签内部,我们通过with关键字来传递各种参数。
  • type="list": 这个参数指定了我们获取的是一个固定数量的列表,而不是一个需要分页的列表。因为我们明确要显示10篇,所以list类型更适合。
  • limit="10": 这就是控制显示文章数量的关键。我们将其设置为10,表示只获取最新的10篇文章。
  • order="id desc": 这个参数决定了文章的排序方式。id desc意味着按照文章ID倒序排列。在安企CMS中,文章ID通常是自增长的,所以ID越大,文章发布时间越晚,这样就能确保获取到的是最新发布的文章。您也可以选择order="CreatedTime desc",它会根据文章的创建时间进行倒序排序,效果相似。
  • moduleId="1": 安企CMS支持多种内容模型(如文章、产品、单页等)。moduleId="1"通常用于指定我们只想获取“文章模型”下的内容。如果您的文章模型ID不是1,请根据实际情况进行调整,您可以在后台“内容管理”->“内容模型”中查看或编辑模型的ID。
  • {% for item in archives %}: 这是一个循环语句,它会遍历archiveList标签获取到的每一篇文章数据,并将当前文章的数据赋值给item变量。
  • <h3><a href="{{item.Link}}">{{item.Title}}</a></h3>: 在循环内部,我们使用item.Title来获取文章的标题,并使用item.Link来生成指向文章详情页的链接。
  • <p>{{item.Description|safe}}</p>: item.Description是文章的简介。这里额外使用了|safe过滤器。如果文章简介可能包含HTML标签(比如加粗、斜体等),|safe过滤器会确保这些HTML标签被正确解析而不是直接显示为纯文本。
  • <span class="article-date">发布日期:{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>: item.CreatedTime是文章的创建时间(一个时间戳)。我们使用stampToDate函数将其格式化为易于阅读的日期格式,例如“2006-01-02”会显示为“2023-10-27”。
  • {% empty %}: 如果archiveList标签没有找到任何符合条件的文章(例如网站刚刚搭建,还没有发布任何文章),empty标签内的内容就会被显示出来,这是一种友好的用户提示。
  • {% endfor %}{% endarchiveList %}: 分别是循环和archiveList标签的结束标志。

将这段代码放置到您首页模板的适当位置,保存后,刷新您的网站首页,您应该就能看到最新的10篇文章标题和简介整齐地排列在页面上了。您可以根据自己的网站设计,为这些元素添加CSS样式,让它们看起来更美观。


常见问题 (FAQ)

1. 如何只显示特定分类下的最新10篇文章,而不是全站的最新文章?

如果您希望只显示某个特定分类下的最新文章,可以在archiveList标签中增加categoryId参数。例如,如果您想显示分类ID为5的文章,可以将代码修改为:

{% archiveList archives with type="list" limit="10" order="id desc" moduleId="1" categoryId="5" %}
    {# ... 循环内容不变 ... #}
{% endarchiveList %}

您可以到安企CMS后台的“内容管理” -> “文档分类”中找到对应分类的ID。如果需要显示多个分类的文章,ID之间可以用逗号隔开,例如categoryId="5,8,12"

2. 如果我想展示的不是最新文章,而是浏览量最高的10篇文章,应该怎么修改?

要展示浏览量最高的文章,只需修改order参数即可。将order="id desc"改为order="views desc"views代表文章的浏览量。

{% archiveList archives with type="list" limit="10" order="views desc" moduleId="1" %}
    {# ... 循环内容不变 ... #}
{% endarchiveList %}

这样,archiveList标签就会根据文章的浏览量从高到低进行排序,从而展示网站上最受欢迎的10篇文章。

3. type="list"type="page"有什么区别,什么时候应该使用type="page"

type="list"用于获取固定数量的文章列表,就像我们在这个例子中做的那样。它不会自动生成分页导航,适合在侧边栏、首页固定区域等需要展示少量文章的地方使用。

type="page"则用于获取可分页的文章列表。当您需要在一个页面上展示大量文章,并且希望通过“上一页”、“下一页”或页码跳转来浏览更多内容时,就应该使用type="page"。配合pagination标签,type="page"会自动处理分页逻辑,生成分页链接。例如,在文章列表页或搜索结果页,type="page"是更合适的选择。