對{dede:arclist}取出的文章標題做判斷,如果是頭條推薦則在標題后面顯示top圖標,如果是當天新發布的則在標題后面顯示new圖標,二者都不屬于的則只顯示文章標題,見代碼:
01{dede:arclist row=4 orderby=pubdate typeid=2 titlelen='54'}
02[field:array runphp='yes']
03if(@me['flag'] == 'h'){
04@me="<li class='list '><a href='".@me['arcurl']."' title=' ".@me['title']."'target='_self'> ".@me['title']."</a><img class='listtop' src='".@me['templeturl']."/demo/images/top.gif' /></li>";
05}else{
06$now = time();
07$oneday = 3600 * 24;
08if(($now - @me['senddate']) < $oneday ){
09@me="<li class='list '><a href='".@me['arcurl']."' title=' ".@me['title']."'target='_self'> ".@me['title']."</a><img class='listtop' src='".@me['templeturl']."/demo/images/news.gif' /></li>";
10}else{
11@me="<li class='list '><a href='".@me['arcurl']."' title=' ".@me['title']."'target='_self'> ".@me['title']."</a></li>";
12}
13}
14[/field:array]
15{/dede:arclist}
代碼雖然長點,但是有前兩段代碼的基礎看懂這個還是沒什么難度的,代碼中包涵的html內容不影響整個功能,僅是用來是布局相對美觀使用,閱讀程序代碼時可以忽略掉。這里就可以體現出[field:array]的好處了,之前我們用[field:flag]也好,用[field:senddate]也好,都只是單一的判斷,如果想做多條件判斷,那就非[field:array]莫屬了,這里取出之后的'@me'不僅包涵了'flag'和'senddate'信息,還包含有其他底層字段很多信息,下面所列出的都有:
ID(同id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,
writer,source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,
badpost,notpost,description(同infos)filename, image, imglink, fulltitle,
textlink, typelink,plusurl, memberurl, templeturl
stime(pubdate 的"0000-00-00"格式)
?