DedeCMS织梦

DedeCMS织梦无刷新Ajax分页

阿里云

有时在做织梦模板开发的时候需要实现首页分页效果,很多时候想在首页调用到一个文章列表,以博客的形式显示最新文章列表,这就需要有一个分页功能,但是织梦本身首页是不带分页功能的,那如何实现织梦首页分页呢?网上有很多人都转载了一个方法,但是很多人不知道这个方法还有一个问题需要处理,我先把网上的方法代码展示一下:
在首页的[/head]前面加上

  1. <script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
也想出现在这里?联系我们
创客主机

第二步:必须引入以下 javascript 代码:

  1. <script>
  2. function multi(pagenum,tagid)
  3. {
  4. var taget_obj = document.getElementById(tagid);
  5. var taget_obj_page = document.getElementById("page_"+tagid);
  6. myajax = new DedeAjax(taget_obj,false,false,'','','');
  7. myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid);
  8. myajax = new DedeAjax(taget_obj_page,false,false,'','','');
  9. myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid);
  10. DedeXHTTP = null;
  11. }
  12. </script>

第三步:在 arclist 标签中必须含有 tagid 与 pagesize 参数。 第一个是缓存名,第二个是单页条数;例如:

  1. {dede:arclist tagid='index' pagesize='5'}
  2. <li><b><a href="[field:arcurl/]" style="color: #FF6633">[field:title/]</a></b></li>
  3. <p class="my_tj_info">[field:info/]...</p>
  4. {/dede:arclist}

第四步:必须存在 arcpagelist 标签,且必须声明缓存参数 tagid 且缓存参数与 arclist 中 tagid 保持一致。例如:

  1. {dede:arcpagelist tagid='index'/}

好了,到此就是网上很多人转载的方法,一开始我也是完全按照网上的方法做的,但是一直没调用出来,百思不得其解。后来对代码进行跟踪,发现这个分页的样式不是自已定义的,而是根据代码调用 arcpagelist 的标签名自动获取的。比如我定义的是{dede:arcpagelist tagid='index'/} ,那么,dede_arcmulti 表中会自动生成一个 index 的分页数据,格式就是{dede:arclist tagid='index' row='20' titlelen='57' orderby='pubdate' typeid='7‘ pagesize='4'}标签中的内容,因为字义了 tagid='index',所以它就生成一个以 index 为命名的分页数据。其实到这里,我还是不明白,为什么这个表的数据是自动生成的,而我的分布样式怎么会不正确呢?就是打开页面的时候,样式正常,点第二页,变形,第三页,变形,点回第一页,同样变形。最后,我检查了一下这个数据表中的 innertext 字段内容,里面保存的是不完整的一段 HTML 代码,不完整?原因是因为此字段长度不够,是仅有 255 字符的 char 类型字段,马上改成 text 类型,重新生成首页,问题解决。

DedeCMS 织梦无刷新 Ajax 分页

已有 9266 人购买
查看演示升级 VIP立刻购买

收藏
(3)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!