織夢中channelartlist、channel 標(biāo)簽不支持limit屬性,下面教大家如何使這兩個標(biāo)簽也支持limit屬性。
方法/步驟
1、給channelartlist標(biāo)簽 加limit屬性
channelartlist標(biāo)簽在5.7中只有row屬性,如果是需要頻道頁面樣式比較獨(dú)特的網(wǎng)站,不能夠滿足循環(huán)調(diào)用的需求,所以,給它加上limit屬性就好了。
給這個標(biāo)簽加limit屬性也非常容易,dedecms的程序優(yōu)點(diǎn)就在于擴(kuò)展。
打開include/taglib/channelartlist.lib.php文件,約62行處,在下面加一行
if(empty($totalnum)) $totalnum = 20;
if(!empty($limit)) $totalnum = $limit;
這樣,如果有l(wèi)imit屬性的話,就可以用limit屬性來控制調(diào)用的記錄數(shù)量了。
2、給channel標(biāo)簽 加limit屬性
最近開發(fā)一個網(wǎng)站發(fā)現(xiàn)我們的DEDECMS系統(tǒng)在channel 中不能使用limit,很是著急,上網(wǎng)搜索也沒有找到解決方案。沒有辦法,只好自己研究,其實很簡單,分享出來給大家。
首先請大家打開include/taglib/channel.lib.php文件,然后找到
1.在$line = empty($row) ? 100 : $row;
在它的下面加上下面代碼
//limit條件
$limit = trim(eregi_replace('limit','',$limit)); if($limit!=''){ $limit = " $limit "; }else{ $limit = " limit 0,$line "; } |
2.然后把下面的
if($type=='top') { $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; }else if($type=='son') { if($typeid==0) return '';$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath From `dede_arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit $limit ";} else if($type=='self'){ if($reid==0) return '';$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; } 將limit 0, $line 改成 limit $limit 3.使用方法: {dede:channel type='son' typeid=68 limit='0,6'} [field:typename/] {/dede:channel} |
以上解決方案發(fā)現(xiàn)一個問題:就是后面的channel標(biāo)簽都需要加limit才行,不然輸不出。
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 織夢給channelartlist和channel加limit屬性