# dedecms 如何在arclist判断自定义字段为空时，输出自定义内容

*Published:* 2023-11-30
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年11月30日，已超过 180天没有更新



通过内容模型创建自定义字段，在前台显示的时候我们希望通过判断来确定是否显示该字段。以下是具体代码：

```
{
    dede: arclist addfields = '自定义字段,自定义字段'
    channelid = 'ID'
}[field: 自定义字段 runphp = "yes"]
if (empty(@me)) {@
    me = "为空显示";
} else {@
    me = '不为空显示';
}[/field:自定义字段] {/dede: arclist
}
```

以上代码如果还不能理解，那我这边在举一个例子：

```
{
    dede: arclist typeid = ''
    row = '8'
    titlelen = '100'
    orderby = 'pubdate'
    addfields = 'price'
    channelid = ''
} < li > < i > · < /i><a href="[field:price runphp="yes"] if(empty(@me))     {         @me="['arcurl']";     } else{          @me='['price']';     }     [/field:price]" target="_blank">[field:title/]</a > < /li> {/dede: arclist
}
```

这上面的意思是a链接调用的是自定义字段，当你的自定义字段值为空时，则输出 \[field:arcurl/\] 标签，反之就输出自定义字段里面的内容。

其实也可以这样子写：

```
[field:array runphp=yes]@me = (!empty(@me['tzlj']) ? "{@me['tzlj']}" : "{@me['arcurl']}");[/field:array]
```

另外，如果自定义字段需要在文章页单独使用时，如要实现这种带判断的效果，则需要把代码修改成这样，如下：

```
{
    dede: field name = array runphp = yes
}
if (@me['自定义字段'] == '') {@
    me = "字段为空显示";
} else {@
    me = "字段不为空显示{@me[自定义字段]}";
} {
    /dede:field}
```