dedecms系统调用自定义字段的方法相当简单,可以直接通过{dede:field.dizhi/}调用。我在做模板的时候遇到这样一个需求:我需要同时调用三个自定义字段,如果三个字段中有一个是空的,那么其他两个字段就不会显示,不管是不是空的。按照这个要求,是不可能和之前的标签一起显示的。
经过各种尝试,我们还是找到了实现的方法。假设有三个自定义字段,字段名分别是bdsheng、bdshi和bdxian。下面是详细的实现步骤。
首先,文章详细信息页面调用方法
测试的方法有好几种,但只有一种成功是使用数组。代码如下:
1.{ dede : field name=\' array \' runphp=\' yes \' }
2.if(@me[\'bdsheng\']!=\'\'@me[\'bdshi\']!=\'\'@me[\'bdxian\']!=\'\')
3.@ me=\'您选择了:\'。@ me [\'bdsheng\']。从属分类是:\'。@ me [\'bdshi\']。@ me[\' BD xian \'];
4.if(@me[\'bdsheng\']!=\'\'@me[\'bdshi\']!=\' \' @ me[\' bdxian \']==\' 上海\')
5.@ me=\'当前为\'。@ me [\'bdsheng\']。市政当局。@ me [\'bdshi\']。@ me[\' BD xian \'];
6 . if(@ me[\' bdsheng \']==\' 徐汇\' @ me[\' bdshi \']==\' 上海\' @ me[\' bdxian \']!=\'\')
7.@ me=\'信息输入错误,请重新填写!\';
8.else @ me=
{/dede:field}
第二行和第三行表示所有三个字段都不是空的,如果满足条件,将输出第三行。这两个符号表示“和”,第8行代码表示如果不满足前面的条件,将不会输出任何信息。请注意,实际信息不能用双引号引起来。
二、主页和列表页的调用方法
您可以使用dede:arclist标签来定义网站的列列表页面和主页所调用的多个字段。详细代码如下。
1.{dede:arclistrow=\'5\'}
2.[field : arrayrunpph=\' yes \']
3.if(@me[\'bdsheng\']!=\' \' @我[\' bdshi \']==\' 天津\' @我[\' bdxian \']===\' 河西区\')
4.@ me=\'输入正确,请选择\'。@ me [\'bdshi\']。@ me[\' BD xian \'];
5.if(@me[\'bdsheng\']!=\' 南开区\' @ me[\' bdshi \']=\'虹桥区\' @ me [\'bdxian\']!=\'\')
6.@ me=\'这是南开大学\'。@ me[\' bdshi \'];else @ me=
7.[/field:array]
8.{/dede:arclist}
上面的代码应该是可以理解的,即如果是用来判断的,如果是空的或者等于某个值,就会输出对应的内容,如果不满足条件,什么都不输出,显示为空。
其实还是比较简单的。使用这种判断语句可以减少某些字段为空时前台页面显示的必要占位符,影响美观和用户体验。
本文由岑辉宇博客整理发布,在微信官方账号搜索微信“岑辉宇”可以找到更多内容。
更多SEO教程:/