以下的代码的目的是给加了自定义属性的文章动态的添加一个相应的小图标或者其他的标志,如果只给文章循环列表加一个flag=’c’这类的 属性,在最终的文章列表里只能显示加了有相应自定义属性的文章,而其他文章或加了其他属性的文章则不会显示出来,这显然不是我想要的效果,我想要的效果是不管文章加没有加属性或者加的是什么属性,都要在文章列表里显示出来,并且将加有属性的文章用相应的图标或标准区分开来。效果图如下:

1601950689-4fc844f05ee301e1601950689-f76ef9acb4bef471601950689-73da3476735f3881601950689-54fbf48c30ef18a

上面是后台文章添加属性截图
下面是前台效果截图:

1601950689-eef911265e01d2e

下面是判断代码:

[field:flag runphp='yes']
$a=explode(',','@me');
if($a[0]=='c'){
@me='<span class="badge pull-right" style="background-color:#00F03D">推荐</span>';
}else if($a[0]=='h'){
@me='<span class="badge pull-right" style="background-color:#8080FF">头条</span>';
}else if($a[0]=='a'){
@me='<span class="badge pull-right" style="background-color:#FF8040">热门</span>';
}else{
@me='';
}
[/field:flag]
 

把这段判断代码加到你dede循环列表想要出现图标或者标志的地方即可,再自己修改下样式。代码截图如下:1601950690-901631aaa3c6944

还有第二种判断方法,也差不多:

1601950690-69047e3b56cfdac

代码如下:

[field:flag runphp='yes']
if(stristr(@me,"c")) @me = "[^_^推荐]";
else if(stristr(@me,"a")) @me = "[^_^热门]";
else if(stristr(@me,"h")) @me = "[^_^头条]";
else @me = '';
[/field:flag]
 

代码截图:
1601950690-960d528092b626d