加入收藏 | 设为首页 | 会员中心 | 我要投稿 大同站长网 (https://www.0352zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

织梦程序怎么调用自定义字段?

发布时间:2022-01-17 13:22:30 所属栏目:经验 来源:互联网
导读:dedecms系统调用自定义字段的方法相当简单,直接使用{dede:field.dizhi/}这样的方式调用即可。我在制作模板的时候遇到这样一个需求:我要同时调用3个自定义字段,而这三个字段中如果有一个为空则其他的两个字段不论是否为空,这三个字段均不显示,根据这个需
   dedecms系统调用自定义字段的方法相当简单,直接使用{dede:field.dizhi/}这样的方式调用即可。我在制作模板的时候遇到这样一个需求:我要同时调用3个自定义字段,而这三个字段中如果有一个为空则其他的两个字段不论是否为空,这三个字段均不显示,根据这个需求,使用前面的标签显示无法实现。
 
   经过多种尝试,还是找到了可以实现的方法,假设有3个自定义字段,字段名分别是bdsheng、bdshi、bdxian,下面是详细的实现步骤。
 
一、文章详情页调用方法
 
   使用了好几种方式测试,但是只有一种成功,就是使用array,代码如下:
 
1.{dede:field name='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:arclist row='5'}
 
2.[field:array runphp='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来判断,如为空或者等于某个值时,就输出对应的内容,如果条件都不满足就什么也不输出,显示的就是一个空白。
 
其实还是比较简单,这个判断语句的使用可以减少某些字段为空时,前台页面上显示必须要的占位符,影响美观和用户体验。

(编辑:大同站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!