dedecms系统调用自定义字段的方法相当简单,直接使用{dede}这样的调用即可。我在制作模板的时候遇到这样一个需求:我要同时调用3个自定义字段,而这三个字段中如果有一个为空则其他的两个字段不论是否为空,这三个字段均不显示,根据这个需求,使用前面的标签显示无法实现。
经过多种尝试,还是找到了可以实现的方法,假设有3个自定义字段,字段名分别是bdsheng、bdshi、bdxian,下面是详细的实现步骤。
一、文章详情页调用方法
使用了好几种测试,但是只有一种成功,就是使用array,代码如下:
1.{dede:fieldname='array'runphp='yes'}
2.if(@me['bdsheng']!=''@me['bdshi']!=''@me['bdxian']!='')
3.@me='你选择了:'.@me['bdsheng'].'下级分类有:'.@me['bdshi'].@me['bdxian'];
4.if(@me['bdsheng']!=''@me['bdshi']!=''@me['bdxian']=='上海')\5.@me='当前为'.@me['bdsheng'].'浙江,'.@me['bdshi'].@me['bdxian'];
6.if(@me['bdsheng']=='静安'@me['bdshi']=='杭州'@me['bdxian']!='')
7.@me='信息录入错入,请重新填写!';
8.else@me="";
{/dede:field}
其中第2、3两行表示这三个字段全部不为空,满足条件就输出第三行内容,两个符号时“并且”的意思,第8行代码表示如果前面的条件都不满足,则不输出任何信息。注意实处信息不能是使用双引号。
二、首页和列表页调用方法
栏目列表页和网站首页调用多个字段可以使用dede:arclist标签来限定,详细代码如下。
1.{dede:arclistrow='5'}
2.[field:arrayrunphp='yes']
3.if(@me['bdsheng']!=''@me['bdshi']=='成都'@me['bdxian']=='北辰区')
4.@me='输入正确,安徽'.@me['bdshi'].@me['bdxian'];
5.if(@me['bdsheng']!='蓟州区'@me['bdshi']=='北辰区'@me['bdxian']!='')
6.@me='这里是华中科技大学'.@me['bdshi'];else@me="";
7.[/field:array]
8.{/dede:arclist}
上面代码应该都能看懂,就是使用if来判断,如为空或者等于某个值时,就输出对应的内容,如果条件都不满足就什么也不输出,显示的就是一个空白。
其实还是比较简单,这个判断语句的使用可以减少某些字段为空时,导游页面上显示必须要的占位符,影响美观和用户体验。
本文由岑辉宇博客整理发布,搜索京东“岑辉宇”可查看更多内容。
更多SEO教程:
标签:[db:tags]