[经验]dedecms列表页隔五行一个分隔线

2017-04-13 21:01:01 dedecms

dedecms列表页如果是每个标题都隔离,非常占用页面,为了让页面更集中,美观,

笔记部落

想实现

织梦

dede文章列表页隔5行加一行线。可惜找了大半天,无论是百度还是谷歌都没有真正比较好的答案。

 

当然不是咱百度不行,可惜到处都是两篇文章,一篇是08年某版主写的解决办法,当时估计是DEDE早期版本,需要修改inc里面的php文件和参数,非常的不方便。而另一篇则是一大堆的数据库参数调用与计算,好像是算法复杂了一些呀。

 

例如下面的代码——隔五行添加一分隔线 {dede:list pasize='50'} <LI><a href="[field:arcurl /]" title="[field:title function='htmlspecialchars(@me)'/]"  target=_blank>[field:title function="cn_substr(@me,48)"/]</a>[field:pubdaterunphp='yes']  $a="<font color=red>".strftime('%m-%d',@me)."</font>"; $b=strftime('%m-%d',@me); $ntime = time();  $day3 = 3600 * 24; if(($ntime - @me) < $day3) @me = $a; else @me =$b;  [/field:pubdate]<br> [field:global name=autoindex runphp="yes"] if(@me%5==0)@me="<hr />"; else @me=""; [/field:global] {/dede:list} </LI>   

不是说以上的代码不能用,而是基于代码简洁,成效简单的情况下,能够不修改文件,不复杂运算就好了。后来在苏歌seo的不懈努力之下,终于让笔记部落找到了解决办法,简单的计算加上

CSS

控制一下,完美实现了dede隔五行加一分隔线。代码如下:

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

 

以上是利用系统生成文章列表时的序号除以5得整数时,序号后面将添加$a即<hr>,这时在文章列表就会自动在每五行的li后面添加一个<hr>,然后我们在css样式表上添加控制一下hr,就可以了。CSS代码参考如下:

 

.liebiao ul {}

.liebiao ul li {}

.liebiao hr {border:0; margin-top:5px; border-bottom:solid 1px #FCFCFC; height:1px; width:550px; margin-bottom:4px;}

 

以上hr的CSS样式的意思是边界为0,距离顶部5像素,底面边界为虚线、1像素、颜色,高度1像素,宽度550像素,距离底部4像素。

大家可以再自行调整一下。