15
2011
04

dede列表 隔行换色 五行分组

今天为了实现一个站的dede列表页每隔五行出现一条横线,百度,谷歌了半天,都没找到答案。

当然不是因为百度谷歌不行,找也找到了,但基本都是同一篇,一篇08年某版主写的的解决方法,当时不知道dede是什么版本,反正现在是用不成了,光开头说的inc_channel_unit_functions.php
这个文件,我都找遍了遍找不到。

后来在我不懈的努力下,终于让我找到解决方法了,也是dede一位版主发的,很实用啊!发出来共享了

发布了两种方法可选,分的不修改文件修改文件(这个应该和08版的方法类似)的两种

1、不修改文件

(1)隔行换色

{dede:arclist orderby=pubdate titlelen='26' row='10'}
[field:global runphp='yes' name=autoindex]
$a="<div id="a">";
$b="<div id="b">";
if ((@me%2)==0) @me=$a;
else @me=$b;
[/field:global]
<ul>
<li>[field:title/]</li>
</ul>
</div>
{/dede:arclist}
</div>

(2)分组加分割线

{dede:arclist orderby=pubdate titlelen='26' row='10'}
[field:title/]
[field:global runphp='yes' name=autoindex]
$a="<hr>";
((@me%5)==0)? @me="$a":@me="";
[/field:global]
{/dede:arclist}

 

----------------------------------------------------------------------------------------------------------------

1、修改文件

(1)隔行换色

找到文件 channelunit.func.php ,在文件的下面加入以下代码:

//zouql
//$f 列表总数
//$t 每组列表数
function MyList($f,$t,$meid,$con)
{
if($meid%$t ==0 && $meid < $f)
return $con;
}

在模板文件里使用以下代码,就可以实现隔行换色效果:

<ul>
{dede:arclist row=20 titlelen=80 orderby=pubdate}
<li [field:global="" name="autoindex" function="MyList("20","2",@me,"class=\"color\"")" ]="">[field:textlink/]</li>
[field:global name=autoindex function='MyList("20","5",@me,"<li class="\"line\""></li>")'/]
{/dede:arclist}
</ul>

上面例子中包含了2个用法:

 [field:global name=autoindex function='MyList("20","2",@me,"class=\"color\"")'/] 

 [field:global name=autoindex function='MyList("20","5",@me,"<li class="\"line\""></li>")'/]

第一个,如果你定义了相关css,就是隔行变色
第二 个,如果你定义了相关css,就是隔5行加一横线,20个列表加3个线不是4个,最后一个一般不用加分隔线,如果想在最后也加分隔线的话,去掉 && $meid < $f 即可。

----------------------------------------------------------------------------------------------------------------

 [field:global runphp='yes' name=autoindex]      $a="<span class="icon@me">";  $b="</span>";     $c="<span class="ico2">"; if (@me > 3) @me = $c.@me.$b; else @me = $a.@me.$b; [/field:global]</span>

可以递增class

« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。