帮助中心

首页 >> 帮助中心 >> 源码教程 >> dedecms >

DEDECMS 自定义字段有则显示,没有则不显示

时间:2018-07-12   访问量:1702

    DEDE在文章列表文章没有缩略图的不显示图片,有的则显示缩略图。解决在文章列表文章没有缩略图的不显示图片,有的则显示缩略图在5.3最开始的版本。好象是有这个功能的。
就是在列表里。。如果改文章没有缩略图则不显示默认的 没有缩略图的土片。如果有则显示缩略图

    但在后续的升级过程中。官方把这个功能修改掉了。。
不知道是有意还是无意的
我自己刚好需要这样来排。。看到有些站长也在求。。

    研究了下。。可以实现。。

    先看代码。官方列表页下关于缩略图的代码  默认的是

[field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : "
"); [/field:array]

    把它改成

[field:array runphp='yes']@me = (strpos(@me['litpic'],'defaultpic') ? "" : "
"); [/field:array]


我猜是官方在添加文章的时候,即使每加缩略图,也会默认设置一个图片  
所以用empty来判断是不行的。。因为它不会为空。。
 

    DEDE在文章列表文章没有缩略图的不显示图片,有的则显示缩略图


自定义字段的调用方法,有数据则显示无数据则不显示(备注:limit='3,1'意思是从第4条开始调用,只调用1条):

{dede:arclist row='1' titlelen='24' orderby='id' idlist=''  limit='3,1'}
[field:array runphp='yes'] if(@me['pic11']==''){ @me = ''; }else{ @me = '
';
}[/field:array][field:title/]{/dede:arclist}

     

    列表,如果短标题没有就显示其他字段:

[field:array runphp='yes'] if (@me['shorttitle']=='') @me=@me['arcurl'];else @me=@me['shorttitle'];[/field:array]

    列表,totalprice字段有则显示,无则显示123:

[field:array runphp='yes'] if (@me['totalprice']=='') @me='123';else @me=@me['totalprice'];[/field:array]


内容页,有则显示无则不显示:

{dede:field name='lpic1' runphp='yes'} if(@me == "") @me = "style='display:none'";else @me = ""; {/dede:field}

    列表页,如果新闻正文有内容则显示标题链接,无内容则不显示标题链接(不可点击):

[field:array runphp='yes'] if (@me['body']=='') @me=@me['title'];else{ @me = '
'.@me['title'].'
';}[/field:array]