• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > DedeCMS教程 > DedeCMS安装使用 >

分享三种可以实现Dedecms首页分页的方法

来源: www.dedecms8.com 编辑:织梦吧 时间:2001-11-18点击:

Dedecms做blog要做到有blog的样子首先要解决的就是首页分页问题,dedecms5.6新版中可以用arclist标签+Ajax实现首页分页。

方法如下

1、必须在首页<head></head>中引入

  <script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2.js"></script>

 

2、必须加入

  <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>

 

3、在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}

 

4、必须存在arcpagelist标签,且必须声明缓存参数tagid且缓存参数与arclist中tagid保持一致

  {dede:arcpagelist tagid='index'/}

 

此方法的优缺点:
优点:可以很方便的在首页进行索引全站最新更新文档。
缺点:是ajax调用的,所以没有办法索引第二页后面的内容。
也就是你的分页超过2页,第三页就没办法索引,所以放弃了此方法。

第二种比较简单:交叉栏目ID 实现dedecms首页分页

1、首先你在后台新建一个"首页"的的栏目

dedecms

2、设置首页栏目

dedecms

3、模板就直接用列表模板就可以了,如果你技术好的话,可以设计成自己想要的模板。

4、主要注意几点:(1)交叉的id只能写最后一级的栏目id,就是你文章的隶属栏目id;(2)更新不能用首页更新要用 更新栏目HTML 首页链接地址还是不变。

5、可以实现了。


第三种方法:自由列表实现dedecms首页分页。
1、进入后台 核心---》频道模型--》自由列表管理---》添加列表。
2、就是定义自由列表:
(注:我们是为了首页分页所以列表HTML必须存放目录否则无法显示,所以只保留{cmspath})

dedecms

下图为模板调用的标签:

dedecms

用此方法实现首页分页,模板只能用首页模板。也就是说后台中的更新首页HTML功能就废了,以后一键生成网站以后要到自由列表中去生成一次。否则网站首页为空白。

dedecms自由列表功能有个令人蛋疼的现象,就每次生成之前都要更改一次<不使用默认首页>当然这里对于其他地方需要自由列表影响不大,但是我们要是用自由列表实现首页分页就蛋疼了。
解决方法如下:
打开Dede(默认后台管理目录)目录下的makehtml_freelist_action.php (创建自由列表)找到

  $dsql->ExecuteNoneQuery("Update `dede_freelist` set  nodefault='1' where aid='$startid';");

 

找到上面代码行,在前面加上// 注释掉就可以了。

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ