织梦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;