在使用Dedecms构建网站时,优化文章列表的显示逻辑是一项重要任务。本文将介绍如何实现:当文章没有缩略图时不显示图片;如果存在缩略图,则正常显示。此外,我们还将探讨列表字段内的自定义字段调用方法、短标题处理以及内容页显示逻辑的实现方式。

首先,解决文章列表中无缩略图时不显示图片的问题:


{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}
    

接下来,我们来看如何在列表字段内调用自定义字段,并根据是否有数据决定是否显示:

此代码段实现了从第4条记录开始调用一条记录的功能:


[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]
    

完成上述修改后,请记得前往Dedecms后台生成页面以使更改生效。

通过以上步骤,您可以有效地管理Dedecms中的文章列表显示规则,从而提升用户体验和SEO效果。