织梦给channelartlist和channel加limit属性

站长新闻 12-07 浏览 139
织梦中channelartlist、channel 标签不支持limit属性,下面教大家如何使这两个标签也支持limit属性。
方法/步骤
1、给channelartlist标签 加limit属性
channelartlist标签在5.7中只有row属性,如果是需要频道页面样式比较独特的网站,不能够满足循环调用的需求,所以,给它加上limit属性就好了。
给这个标签加limit属性也非常容易,dedecms的程序优点就在于扩展。
打开include/taglib/channelartlist.lib.php文件,约62行处,在下面加一行
if(empty($totalnum)) $totalnum = 20;
if(!empty($limit)) $totalnum = $limit;
这样,如果有limit属性的话,就可以用limit属性来控制调用的记录数量了。
2、给channel标签 加limit属性
最近开发一个网站发现我们的DEDECMS系统在channel 中不能使用limit,很是着急,上网搜索也没有找到解决方案。没有办法,只好自己研究,其实很简单,分享出来给大家。
首先请大家打开include/taglib/channel.lib.php文件,然后找到
1.在$line = empty($row) ? 100 : $row;
在它的下面加上下面代码
//limit条件

01 $limit = trim(eregi_replace('limit','',$limit)); 02   03 if($limit!=''){ 04   05 $limit = " $limit "; 06   07 }else{ 08   09 $limit = " limit 0,$line "; 10   11 }

2.然后把下面的

01 if($type=='top') 02   03 { 04   05 $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 06   07 From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; 08   09 }else if($type=='son') 10   11 { 12   13 if($typeid==0) return '';$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 14   15 From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit $limit ";} 16   17 else if($type=='self'){ 18   19 if($reid==0) return '';$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath 20   21 FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; 22   23 } 24   25 将limit 0, $line 改成 limit $limit 26   27 3.使用方法: 28   29 {dede:channel type='son' typeid=68 limit='0,6'} 30   31 [field:typename/] 32   33 {/dede:channel}
以上解决方案发现一个问题:就是后面的channel标签都需要加limit才行,不然输不出。 标签:
本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

热门推荐