织梦DedeCMS实现{dede:channel}标签增加数字序号的方法

织梦模板里经常用到的{dede:channel}标签是调用导航的,想要在这个标签里实现数字序号的效果可以使用下面的方法。

示例:

<a href="#" class="d1"></a>

<a href="#" class="d2"></a>

<a href="#" class="d3"></a>

....

代码:

{dede:channel type='top' line='1'}

     <a href="[field:typeurl/]" class="d[field:line/]"></a>

{/dede:channel}

注:line='1'是指从1开始递增

 

修改方法:

1、修改/include/taglib/channel.lib.php文件的lib_channel函数,把如下代码

$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|,line|1";

| 后面的是默认值

 

2、修改/include/taglib/channel.lib.php文件的lib_channel函数,在

extract($ctag->CAttribute->Items, EXTR_SKIP);

下面添加如下代码:

//默认属性里设置的行数

$default_line = $ctag->CAttribute->Items["line"];

3、修改/include/taglib/channel.lib.php文件的lib_channel函数,把如下代码

$row['sonids'] = $row['rel'] = '';

修改成如下代码:

$row['sonids'] = $row['rel'] = '';

$row['line'] = $default_line+$i;