dedecms 隔行换色,分组加分割线 方法

不需要修改程序源文件的如下
隔行换色

{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>

分组加分割线(由金胜童鞋修改)

{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]
<br>
{/dede:arclist}

------------昏割线------------------
华天提供的一种

 
<li [field:global="" name="autoindex" runphp="yes" ](@me="" %="" 2="=" 0)?@me="class=\" color\"":@me="" ;[="" field:global]="">[field:textlink/]</li>

-------------我素昏割线------------------
修改文件版
找到文件 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>

 

 

原文地址:https://www.cnblogs.com/coxsoft/p/2665622.html