在网站内容运营中,我们常常需要在一个页面集中展示某个特定分类下的文章列表,并且为了提供更好的用户体验和内容结构,通常还会配合分页功能。安企CMS提供了强大且易用的模板标签,能够帮助我们轻松实现这一需求。

文章内容调用的核心:archiveList标签

要调用特定分类下的文章内容,安企CMS提供了archiveList这个核心标签。这个标签非常灵活,可以根据多种条件筛选和排序文章。

首先,明确指定要调用的分类至关重要。这通过categoryId参数实现。例如,如果你的“公司新闻”分类ID是10,那么你可以这样设置:categoryId="10"。如果你需要一次性调用多个分类的文章,可以将分类ID用英文逗号隔开,比如categoryId="10,12,15"。一个值得注意的细节是,如果省略categoryId参数,系统会尝试读取当前页面的分类ID;如果你明确不希望它自动读取,可以将其设置为categoryId="0"

其次,要实现文章列表的分页显示,type参数必须设置为"page"。当type="page"时,archiveList标签会智能地返回当前页的文章数据,并同时生成分页所需的其他信息,这些信息将供后续的分页标签使用。

除了这两个关键参数,archiveList还支持其他常用设置,以满足多样化的展示需求:

  • limit:控制每页显示的文章数量,例如limit="10"表示每页显示10篇文章。
  • order:定义文章的排序方式,例如"id desc"表示按文章ID倒序(即最新发布),"views desc"表示按浏览量倒序。
  • moduleId:如果你的网站使用了不同的内容模型(如文章、产品等),可以通过这个参数指定模型ID。文章模型通常默认为1。

archiveList标签的循环体内,你可以通过item变量访问到每篇文章的详细信息,包括{{item.Title}}(文章标题)、{{item.Link}}(文章链接)、{{item.Description}}(文章简介)、{{item.Thumb}}(文章缩略图)、{{item.CreatedTime}}(发布时间)和{{item.Views}}(浏览量)等,从而灵活地构建每篇文章的展示样式。

完善分页导航:pagination标签

pagination标签是与archiveList标签(当type="page"时)紧密配合使用的,它负责在页面下方生成美观且功能完善的分页导航链接。

在使用pagination标签时,可以通过show参数来控制分页条中显示的页码数量。例如,show="5"会显示当前页码前后共5个页码链接,让分页条显得更加简洁和易于导航。

pagination标签会提供一个名为pages的变量,这个变量包含了所有与分页相关的数据,例如{{pages.TotalItems}}(总文章数)、{{pages.TotalPages}}(总页数)、{{pages.CurrentPage}}(当前页码)等。最重要的是,它提供了首页、上一页、下一页、末页以及中间页码的链接和状态信息。这些分页链接本身也是一个列表,你可以利用for循环来遍历,并通过pageItem.IsCurrent来判断当前页,从而高亮显示。

实战演练:调用特定分类文章并实现分页

下面是一个具体的代码示例,演示如何在安企CMS模板中实现特定分类文章的调用与分页显示。假设我们希望在模板文件(例如article/list.html或你为特定分类设置的自定义模板)中展示ID为10的分类下的所有文章,并进行分页。

”`twig {# 这是页面内容区域,用于展示文章列表 #}