http://www.eyouhome.com/?p=478

DEDEcms给channelartlist标签添加limit属性

给channelartlist标签添加limit属性是非常实用的一个扩展,比如当前做的这个站要求栏目必须要有可扩展性,模板也有通用性,以后可以随意添加栏目,而不用改模板,按照这个要求,那么就只能用channelartlist来实现栏目循环,但是第一个栏目被定位在特殊位置,也有着不同的样式,这会让人素手无策,那么channelartlist标签如果也能像arclist那样具有limit属性,那问题就可以轻松解决了。

将自己的想法在百度上搜索了一下,原来已经有网友给出了方法:

 

打开include/taglib/channelartlist.lib.php文件,约62行处找到

 

if(empty($totalnum)) $totalnum = 20;

 

在下面加一行

 


if(!empty($limit)) $totalnum = $limit;

 

就这么简单,如果有limit属性的话就可以用limit属性来控制调用的记录数量了。

下面是一个实例,先取第一个栏目单独处理,然后再从第二个开始取出后面栏目,其中奇数栏目向左浮动,偶数栏目向右浮动。

 

{dede:channelartlist limit='0,1'}
<div class='box' id='news'>
<h2><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></h2>
<ul>
{dede:arclist row='8'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
{/dede:channelartlist}
<div class='banner'>广告条</div>
{dede:channelartlist limit='1,10'}
{dede:global runphp='yes' name='itemindex'}
$a="<div class='box left'>";
$b="<div class='box right'>";
if ((@me%2)==0) @me=$b;
else @me=$a;
{/dede:global}
<h3><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></h3>
<ul>
{dede:arclist row='8' titlelen='46'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:arclist}
</ul>
</div>
{/dede:channelartlist}