如何解决dedecms中dede:arclist分页问题?
大家一般在文章模板页是用dede:arclist这个标签来显示列表的,基本的代码比较简单,由两部分组成:
1、javascript
在文章模板页这个文件的里,添加如下代码:
2、dede代码
在指定的显示列表的位置,添加如下代码:
- {dede:arclist row='100' tagid='index' pagesize='10' titlelen='120'}
- [field:global name=cindex /]. [field:title/]
- {/dede:arclist}
随着这个列表的分页导航代码是:{dede:arcpagelist tagid='index'/}
需要说明的是,这里的row的值要填大一些,我一开始没填,结果列表的数量就是pagesize的数量。
保存文件,上传并重新生成,发现列表正常显示,分页导航也正常显示了,但是列表序号和之前遇到的问题一样,每一页都从1开始。
在切换页码的时候,列表的序号是会变的,发现序号还和一个文件有关,就是/plus/arcmulti.php,也就是说,dede:arclist这个标签,如果你添加了序号代码,它是有两次的生成过程,第一次是页面生成的时候,这时候的序号是通过/include/taglib/arclist.lib.php决定的,当用户点击分页导航页码浏览其它页面时,因为使用的是ajax,此时的序号是由/plus/arcmulti.php生成的。
到/plus/arcmulti.php去,这个页面里有一个现成的$strnum可以用,照着上一篇序列号的做法,加了$GLOBALS['cindex'] = 0和$GLOBALS['cindex'] = $strnum + $i + 1;点击分页导航时,列表的序号显示正常了!
那第一次显示的列表序号怎么办呢,后来一想,那就简单处理了,仍然在/include/taglib/arclist.lib.php创建$GLOBALS['cindex'](为的是一致),然后让它和autoindex一样,在for循环里++就行了,也就是说只需要考虑他第一页的自然序号显示就行。
新闻热点
疑难解答