首先,在DedeCMS的文章列表页中,如果需要调用带有特定属性(如“推荐”)的文章,可以使用以下代码:
{dede:arclist flag='c' titlelen=42 row=6}
- [field:title/]
{/dede:arclist}
在编辑文章时,只需勾选“推荐[c]”属性即可。
然而,有时候仅仅调用某一类属性的文章并不能满足需求。如果我们希望在文章列表中突出显示带有特定属性的文章,并在其标题后添加对应的属性文字或图标,则需要采用不同的方法。
DedeCMS提供了灵活的解决方案,下面介绍两种实现方式。
第一种方法:通过判断代码实现
此方法的核心是在文章列表调用标签中加入一段判断代码,以识别当前文章的属性并输出对应的文字或样式。具体代码如下:
[field:flag runphp='yes']
$a=explode(',','@me');
if($a[0]=='c'){
@me='推荐';
}else if($a[0]=='h'){
@me='头条';
}else if($a[0]=='a'){
@me='热门';
}else{
@me='';
}
[/field:flag]
{dede:arclist titlelen=42 row=6}
- [field:title/][field:flag runphp='yes']
$a=explode(',','@me');
if($a[0]=='c'){
@me='推荐';
}else if($a[0]=='h'){
@me='头条';
}else if($a[0]=='a'){
@me='热门';
}else{
@me='';
}
[/field:flag]
{/dede:arclist}
第二种方法:简化语法判断
此方法同样基于判断逻辑,但采用了更简洁的语法:
[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]
{dede:arclist flag='c' titlelen=42 row=6}
- [field:title/]
[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]
{/dede:arclist}
以上两种方法都可以帮助您在DedeCMS的文章列表中,根据属性输出相应的图标或属性文字。您可以根据实际需求选择适合的方法进行实现。