给织梦dedecms5.x{dede:channel}标签增加行数序号属

网站建设 2022-07-27 09:12www.1681989.com免费网站
用织梦给客户改站的时候发现,html代码如下 a href="#" class="dh1"/a a href="#" class="dh2"/a a href="#" class="dh3"/a a href="#" class="dh4"/a a href="#" class="dh5"/a .... 先不评判这个div css代码有没有问题,可我拿到的美工出来的页面确实是 […]



用织梦给客户改站的时候发现,html代码如下

<a href="#" class="dh1"></a>
<a href="#" class="dh2"></a>
<a href="#" class="dh3"></a>
<a href="#" class="dh4"></a>
<a href="#" class="dh5"></a>
....


先不评判这个div css代码有没有问题,可我拿到的美工出来的页面确实是这样的,可能各有各的想法,也许他觉得两个北京切换定位来做导航比较好
因为需要给class属性值dh后面的序号自增,默认的{dede:channel标签没有提供序号功能,所以想到进行修改这个标签,来完善这个功能

推火网以下是默认dede:channel标签的使用方法

{dede:channel type='' row='9'}
     <a href="[field:typeurl/]" [field:rel/] title="[field:typename/]" class="dh1">[field:typename/]</a>
{/dede:channel}
–>



改进后,我们要实现如下代码

{dede:channel type='' row='9' le='2'}      //le='2'是指从2开始递增
     <a href="[field:typeurl/]" title="[field:typename/]" class="dh[field:le/]" [field:rel/]></a>
{/dede:channel}


修改步骤如下

1.修改/clude/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|,le|1";


|后面的是默认值

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

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

下面添加如下代码

//默认属性里设置的行数
$default_le = $ctag->CAttribute->Items["le"];


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

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

修改成如下代码

$row['sonids'] = $row['rel'] = '';
$row['le'] = $default_le+$i;

就OK了

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by