织梦CMS常用的几种字段判断输出实例(2)

{dede:arclist row=4 orderby=pubdate typeid=2} [field:senddate runphp='yes'] $now = time(); $oneday = 3600 * 24; if(($now - @me) < $oneday){ @me='这篇文章是今天新发布的'; }else{ @me='这篇文章不是今天新发布的'; } [/field:senddate] {/dede:arclist}  

有了上一个代码的基础,理解这个就不难了,这里不再赘述了。发这两个热身主要是为了来个有点点难度的,那就是本文最开始贴图里显示的,对{dede:arclist}取出的文章标题做判断,如果是头条推荐则在标题后面显示top图标,如果是当天新发布的则在标题后面显示new图标,二者都不属于的则只显示文章标题,见代码:
{dede:arclist row=4 orderby=pubdate typeid=2 titlelen='54'} [field:array runphp='yes'] if(@me['flag'] == 'h'){ @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>"; }else{ $now = time(); $oneday = 3600 * 24; if(($now - @me['senddate']) < $oneday ){ @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>"; }else{ @me="<li class='list '><a href='".@me['arcurl']."' title=' ".@me['title']."' target='_self'> ".@me['title']."</a></li>"; } } [/field:array] {/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"格式)  


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a85698e65ee1ac9fedb6dd185cb6b75a.html