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

时间:2014-06-19

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像素。

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

上一条:[经验]dede任意页面获取多级栏目列表 下一条:织梦dedecms添加自定义属性的教程

相关文章

最新文章