论为什么很多人使用织梦dede arclist 和arcpagelist实现分页时失败
2014-01-06 13:36
507 查看
我们在使用织梦建站时,很多时候想在首页调用到一个文章列表,以博客的形式显示最新文章列表,这就需要有一个分页功能。网上有很多人都转载了一个方法,但是很多人不知道这个方法还有一个问题需要处理,我先把网上的方法代码展示一下:
在首页的</head>前面加上
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
第二步:必须引入以下javascript代码:
<script>
function multi(pagenum,tagid)
{
var taget_obj = document.getElementById(tagid);
var taget_obj_page = document.getElementById("page_"+tagid);
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid);
myajax = new DedeAjax(taget_obj_page,false,false,'','','');
myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid);
DedeXHTTP = null;
}
</script>
第三步:在arclist标签中必须含有tagid与pagesize参数。 第一个是缓存名,第二个是单页条数;例如:
{dede:arclist tagid='index' pagesize='5'}
<li><b><a href="[field:arcurl/]" style="color: #FF6633">[field:title/]</a></b></li>
<p class="my_tj_info">[field:info/]...</p>
{/dede:arclist}
第四步:必须存在arcpagelist标签,且必须声明缓存参数tagid且缓存参数与arclist中tagid保持一致。例如:
{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类型,重新生成首页,问题解决
在首页的</head>前面加上
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>
第二步:必须引入以下javascript代码:
<script>
function multi(pagenum,tagid)
{
var taget_obj = document.getElementById(tagid);
var taget_obj_page = document.getElementById("page_"+tagid);
myajax = new DedeAjax(taget_obj,false,false,'','','');
myajax.SendGet2("/plus/arcmulti.php?mtype=0&pnum="+pagenum+'&tagid='+tagid);
myajax = new DedeAjax(taget_obj_page,false,false,'','','');
myajax.SendGet2("/plus/arcmulti.php?mtype=1&pnum="+pagenum+'&tagid='+tagid);
DedeXHTTP = null;
}
</script>
第三步:在arclist标签中必须含有tagid与pagesize参数。 第一个是缓存名,第二个是单页条数;例如:
{dede:arclist tagid='index' pagesize='5'}
<li><b><a href="[field:arcurl/]" style="color: #FF6633">[field:title/]</a></b></li>
<p class="my_tj_info">[field:info/]...</p>
{/dede:arclist}
第四步:必须存在arcpagelist标签,且必须声明缓存参数tagid且缓存参数与arclist中tagid保持一致。例如:
{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类型,重新生成首页,问题解决
相关文章推荐
- 织梦使用{dede:listsql}标签调用数据并实现静态分页
- 织梦dedecms列表页dede:pagelist分页问题
- 织梦中通过dede:pagelist实现中英文分页效果
- onethink使用article:list显示后台文章标题和article:page 实现分页
- dedecms 织梦利用arcpagelist标签实现首页arclist分页
- 织梦DEDECMS {dede:arclist},{dede:list}获取附加表字段内容
- 如何修改DeDe标签Pagelist分页样式详解
- SSM 使用 mybatis 分页插件 pagehepler 实现分页
- 织梦仿站列表页pagelist分页显示竖排,如何修改成横排?
- 使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航
- 如何修改DeDe标签Pagelist分页样式详解
- DedeCMS_织梦_如何修改织梦内容页和列表页Pagelist分页样式?
- asp.net中使用repeater和PageDataSource搭配实现分页代码
- dedecms V5.7笔记:pagelist分页的简化和{dede:field.position}的相关修改prenext和上下篇prenext的修改
- 织梦DEDECMS {dede:arclist},{dede:list}获取附加表字段内容
- 织梦DEDECMS dede:arclist,dede:list获取附加表字段内容
- thinkPHP5 使用laypage分页插件实现列表分页功能
- dede5.6 分页标签修改,pagelist标签修改
- 使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航
- List集合切割实现对已有数据的分页显示(LIST容器数据量不大的情况下推荐使用)