最近在搞帝国CMS,如果文章包含图片,或者文章是置顶的,需要在列表的题头显示相应的标识,后来用灵动标签实现了,这里记录一些,估计会有不少人会用到。
我们以3天内的发布为条件输出带 new 图标的信息(首页模板上的灵动标签格式):
[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}] <? $newimg=""; if(time()-$bqr[truetime]<=3*24*3600) { $newimg="<img src='New图片地址'>"; } ?> <li> <a href="<?=$bqsr[titleurl]?>" title="<?=$bqr[title]?>" target="_blank"><?=esub($bqr[title],36)?></a><?=$newimg?> </li> [/e:loop]
注:字段值数组变量为$bqr,对应的字段变量为$bqr[字段名],如:标题字段变量就是$bqr[title]。
首先在列表模板上勾选"使用程序代码",我们以推荐为条件输出带 new 图标的信息(列表页模板 【列表内容模板(list.var) 】上的格式):
$newimg="; if($r[isgood]==1) { $newimg='<img src='New图片地址'>'; } $listtemp='<li><a href="[!--titleurl--]" title="[!--oldtitle--]">[!--title--]</a>'.$newimg.'</li>';
注:字段值数组变量为$r,对应的字段变量为$r[字段名],如:标题字段变量就是$r[title]。另外定义的变量为'.$newimg.' 。将最终模板内容赋给$listtemp变量。
更多首页模板上的条件收集:
if($bqr[isgood]==1) //推荐 if($r[firsttitle]==1) //头条 if($r[istop]==1) //置顶 if($bqr[isgood]==1&&$bqr[firsttitle]==1&&$bqr[istop]==1) //置顶-头条-推荐 (组合使用)
最后给出实际使用中的代码:
[e:loop={'selfinfo',20,0,0}] <? $newimg=""; $good=""; if(!empty($bqr[titlepic])) { $newimg="<img src='http://www.zzarea.com/bbs/static/image/filetype/image_s.gif' />"; } if($bqr[istop]==1) { $good = "<img src='http://www.zzarea.com/bbs/static/image/common/pin_1.gif' />"; } ?> <tr class="even"> <td class="title"> <h1><a href="<?=$bqsr[titleurl]?>" target="_blank"><?=sub($bqr[title],0,30,false)?></a> <?=$newimg?> <?=$good?></h1> <p class="intro"> <?=sub($bqr[smalltext],0,80,false)?>[<a title="阅读全文" href="<?=$bqsr[titleurl]?>" target="_blank">详细内容</a>] </p> </td> <td><?=$bqr[myarea]?></td> <td><?=date('Y-m-d H:i:s', $bqr[newstime])?></td> </tr> [/e:loop]