A-A+

dedecms频道标签channel支持limit属性

2014年11月25日 14:03 汪洋大海 暂无评论 阅读 223 views 次

先上调用标签

1
2
3
{dede:channel type='top' row='8' limit='0,1' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"} 
 <li><a href='[field:typelink/]'>[field:typename/]</a> </li> 
{/dede:channel}

相比默认的标签只是多了一个limit='0,1'属性,其效果就是调用0位置起始1条数据。
打开include\taglib\channel.lib.php,找到

1
2
$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|"; 修改为
$attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,limit|";

然后在
$line = empty($row) ? 100 : $row;
之后添加

1
2
3
4
5
6
7
8
9
//limit条件
    $limit = trim(preg_replace('#limit#is', '', $limit));
    if($limit!='')
    {    
        $limitsql = " LIMIT $limit ";
    }
    else {
        $limitsql = " LIMIT 0,$line ";
    } 最后批量查找

limit 0, $line
替换为
$limitsql
至此完成。

标签:

给我留言