迅睿CMS 列表页分页链接不对,先查这三个地方

· 迅睿CMS · 阅读 8
摘要

迅睿的列表分页,我第一次配的时候点第二页直接 404。查了半天不是伪静态的问题,是模板里分页标签的位置放错了。 分页标签必须在循环外面 这个最容易错。分页标签要跟列表循环平级,放进循环体里,它会拿当前条目的数据去算总数,出来的页码永远不对

迅睿的列表分页,我第一次配的时候点第二页直接 404。查了半天不是伪静态的问题,是模板里分页标签的位置放错了。

分页标签必须在循环外面

这个最容易错。分页标签要跟列表循环平级,放进循环体里,它会拿当前条目的数据去算总数,出来的页码永远不对,有时候干脆只有一个「1」。

{list action=cms module=news pagesize=10}
    <li><a href="{$t.url}">{$t.title}</a></li>
{/list}
{pages}
    <a href="{$page.url}">{$page.name}</a>
{/pages}

顺序就是这么个顺序,先 list 后 pages,两个都平级。

URL 规则跟分页参数要对上

后台伪静态里配的规则,分页那段通常是 /list-([a-z]+)-([0-9]+).html 之类。如果只写了列表规则没写分页规则,第一页正常,第二页就 404——因为 Nginx 不知道 list-news-2.html 该交给谁。

这个我建议改完规则就去服务器上 nginx -t 一下,再重载。别在后台点保存就当生效了,缓存或者没 reload 都会让你误判。

pagesize 和后台设置谁是准的

标签里写了 pagesize=10,后台模块设置里又填了 20。哪个生效?按我的经验标签里写的优先,但这点我没在最新版本上逐个验证,你改动完最好直接数一下页面上的条数。

三个地方挨个看:标签位置、伪静态规则、pagesize 有没有冲突。八成的分页问题都在前三步里。