織夢中channelartlist、channel 標(biāo)簽不支持limit屬性,下面教大家如何使這兩個(gè)標(biāo)簽也支持limit屬性。
方法/步驟
1、給channelartlist標(biāo)簽 加limit屬性
channelartlist標(biāo)簽在5.7中只有row屬性,如果是需要頻道頁面樣式比較獨(dú)特的網(wǎng)站,不能夠滿足循環(huán)調(diào)用的需求,所以,給它加上limit屬性就好了。
給這個(gè)標(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ā)一個(gè)網(wǎng)站發(fā)現(xiàn)我們的DEDECMS系統(tǒng)在channel 中不能使用limit,很是著急,上網(wǎng)搜索也沒有找到解決方案。沒有辦法,只好自己研究,其實(shí)很簡單,分享出來給大家。
首先請大家打開include/taglib/channel.lib.php文件,然后找到
1.在$line = empty($row) ? 100 : $row;
在它的下面加上下面代碼
//limit條件
01 |
$limit = trim(eregi_replace( 'limit' , '' ,$limit)); |
09 |
$limit = " limit 0,$line " ; |
|
2.然后把下面的
05 |
$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
07 |
From `dede_arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; |
09 |
} else if ($ type == 'son' ) |
13 |
if ($typeid==0) return '' ;$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
15 |
From `dede_arctype` WHERE reid= '$typeid' And ishidden<>1 order by sortrank asc limit $limit ";} |
17 |
else if ($ type == 'self' ){ |
19 |
if ($reid==0) return '' ;$sql = "SELECT id ,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath |
21 |
FROM `dede_arctype` WHERE reid= '$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; |
25 |
將limit 0, $line 改成 limit $limit |
29 |
{dede:channel type = 'son' typeid=68 limit= '0,6' } |
|
以上解決方案發(fā)現(xiàn)一個(gè)問題:就是后面的channel標(biāo)簽都需要加limit才行,不然輸不出。