我爱模板

当前位置: 我爱模板网 > CMS教程 > DEDECMS教程 > 给dede的标签增加序号

给dede的标签增加序号

DEDE没有提供默认的自增序号变量,制作DEDE模板的时候,会很不方便,很多效果想实现起来特别麻烦。网上也有很多提供的一些方法,但大多都是以修改程序文件为主,不利于以后升级。在此提供一种不修改程序,直接用模板的实现方法:

dede文章列表加上序号效果
css代码部分
<style type="text/css">
<!--
.downtop {
FLOAT: left; OVERFLOW: hidden; WIDTH: 218px; HEIGHT: 278px
}
.downtop UL.text {
MARGIN: 0px 10px; WIDTH: 198px; PADDING-TOP: 5px
}
.downtop UL.text LI {
WIDTH: 198px
}
.downtop UL.text SPAN {
DISPLAY: block; FLOAT: left
}
.downtop UL.text SPAN.num {
MARGIN-TOP: 4px; PADDING-LEFT: 1px; FONT-WEIGHT: bold; FONT-SIZE: 10px; WIDTH: 18px; LINE-HEIGHT: 12px; HEIGHT: 13px; TEXT-ALIGN: center;COLOR: #fff; BACKGROUND-COLOR: #b7b7b7
}
.downtop UL.text LI SPAN.active {
BACKGROUND-COLOR: #7abdff
}
.downtop UL.text SPAN.tit {
PADDING-LEFT: 10px; OVERFLOW: hidden; WIDTH: 168px; WHITE-SPACE: nowrap; HEIGHT: 21px
}

-->
</style>


dede标签部分代码
<DIV class="downtop border">
<UL class=text>
{dede:arclist orderby=pubdate type='commend.' titlelen='26' row='10' channel=3}
<LI>[field:global runphp='yes' name=autoindex]
$a="<SPAN class='num active'>";
$b="</SPAN>";
$c="<SPAN class='num'>";
if (@me > 3) @me = $c.@me.$b;
else @me = $a.@me.$b;
[/field:global] <SPAN class=tit><A title="[field:title/]"
href="[field:filename/]">[field:title/]</A></SPAN></LI>
{/dede:arclist}
</UL>
</DIV>

效果图



效果大家看到了,是自动生成数字序号,并且是前三篇文章的序号图标颜色为蓝色,其余的为灰黑色

现在我想希望实现的是,根据发布时间,如果文章是小于一天的,数字序号图标颜色为蓝色,大于一天的则为灰黑色,请问要怎么才能实现?

我将我尝试过了的代码发一分过来给大家看下:

[field:global runphp='yes' name=autoindex] _cke_saved_name=autoindex]

$a="<i class='yes'>";

$b="</i>";

$c="<i class='no'>";

$d="<span>";

$e="</span>";

$ntime = time();

$oneday = 3600 * 24;

if(($ntime - @me)<$oneday) @me =  $a.$d.@me.$e.$b;

else @me =$c.$d.@me.$e.$b;

[/field:global]



结果生成的样式全部是<i class='no'>,不论发布时间是当天还是之前的。

最后,如果只是需要序号,那就这样:

[field:global runphp='yes' name=autoindex][/field:global]

推荐继续阅读的文章