帝国CMS的自定义列表页面实现分页功能,核心在于正确设置自定义列表规则并调用系统内置的分页函数。只要配置得当,分页会自动生效,无需手动编写分页逻辑。

自定义列表分页的基本原理

帝国CMS的自定义列表本质上是通过SQL语句查询数据,并将结果按设定显示在指定模板中。分页功能由系统根据总记录数和每页显示数量自动计算生成。

要实现分页,必须确保以下几点:

在创建自定义列表时,正确填写“总记录数”使用的SQL语句

设置合理的“每页显示记录数”

使用正确的分页标签在模板中调用分页导航

创建自定义列表时的关键设置

进入后台 → “栏目” → “自定义列表” → “增加自定义列表”:

1. 列表SQL查询语句: 编写查询内容的SQL,例如:

SELECT * FROM [!db.pre!]ecms_news WHERE classid IN (1,2,3) ORDER BY newstime DESC

2. 总记录数查询SQL: 必须与上面语句匹配,用于分页计算,例如:

SELECT COUNT(*) AS total FROM [!db.pre!]ecms_news WHERE classid IN (1,2,3)

3. 每页显示记录数: 填写如 10、20 等数值

4. 标题SEO、文件存放目录: 设置静态化路径,如 /list/list_1_=$page?>.html

模板中调用分页代码

在自定义列表使用的模板中(通常为 list.var 或专用列表模板),使用以下标签输出分页导航:

[!--show.listpage--]

这个标签会自动生成类似“首页 上一页 1 2 3 下一页 尾页”的HTML结构。你也可以使用其他风格的分页标签:

[!--show.page--]:简洁分页样式

通过用户自定义函数或修改 e/class/t_functions.php 中的分页函数来自定义输出格式