当前位置:首页 > CMS教程 > DeDecms > 列表

dedecms中解决dede:arclist分页问题

发布:smiling 来源: PHP粉丝网  添加日期:2019-06-01 16:10:20 浏览: 评论:0 

如何解决dedecms中dede:arclist分页问题?

大家一般在文章模板页是用dede:arclist这个标签来显示列表的,基本的代码比较简单,由两部分组成:

1、javascript

在文章模板页这个文件的里,添加如下代码:

2、dede代码

在指定的显示列表的位置,添加如下代码:

  1. {dede:arclist row='100' tagid='index' pagesize='10' titlelen='120'
  2.  
  3. [field:global name=cindex /]. [field:title/] 
  4. {/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循环里++就行了,也就是说只需要考虑他第一页的自然序号显示就行。

Tags: dedecms分页 dede:arclist

分享到: