muban大师 发表于 2019-2-26 07:51:46

dedecms判断文章是否有‘头条’、‘推荐’等属性,然后加上相应的小图标或标志

以下的代码的目的是给加了自定义属性的文章动态的添加一个相应的小图标或者其他的标志,如果只给文章循环列表加一个flag='c'这类的 属性,在最终的文章列表里只能显示加了有相应自定义属性的文章,而其他文章或加了其他属性的文章则不会显示出来,这显然不是我想要的效果,我想要的效果是不管文章加没有加属性或者加的是什么属性,都要在文章列表里显示出来,并且将加有属性的文章用相应的图标或标准区分开来。效果图如下:
       
               
https://www.adminbuy.cn/uploads/allimg/190226/0K2114227-0.png
https://www.adminbuy.cn/uploads/allimg/190226/0K2116056-1.png
https://www.adminbuy.cn/uploads/allimg/190226/0K2114C0-2.png
https://www.adminbuy.cn/uploads/allimg/190226/0K2112251-3.png

       
                上面是后台文章添加属性截图
                下面是前台效果截图:
       
               
https://www.adminbuy.cn/uploads/allimg/190226/0K2113L8-4.png

       
                下面是判断代码:
       
               
                       
                               
                                       
[field:flag runphp='yes',
$a=explode(',','@me');
if($a=='c'){
@me='推荐';
}else if($a=='h'){
@me='头条';
}else if($a=='a'){
@me='热门';
}else{
@me='';
}
[/field:flag,
                               
                       
               
       
       
               
                       
       
       
                把这段判断代码加到你dede循环列表想要出现图标或者标志的地方即可,再自己修改下样式。代码截图如下:
https://www.adminbuy.cn/uploads/allimg/190226/0K2114914-5.png

       
                还有第二种判断方法,也差不多:
       
               
https://www.adminbuy.cn/uploads/allimg/190226/0K2113148-6.jpg

       
                代码如下:
       
               
                       
                               
                                       
[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,
                               
                       
               
       
       
               
                       
       
       
                代码截图:
               
https://www.adminbuy.cn/uploads/allimg/190226/0K21120Z-7.jpg
页: [1]
查看完整版本: dedecms判断文章是否有‘头条’、‘推荐’等属性,然后加上相应的小图标或标志