DEDE模板中如何使用if进行多分支判断的教程

所属分类: CMS教程 / dedecms 阅读数: 1559
收藏 0 赞 0 分享

我们在用dede做模板的时候,经常会遇到需要根据某个条件判断来分别显示不同的内容的情况,也就是dede模板中的多分支判断。比如典型的,我们需要根据风险管理数据库表中的风险等级字段risklevel的取值的不同分别显示不同的风险提示图标。如图1 所示。

红色框中的投资项目名称前面的图标表示了不同的风险等级,一共有AA,D,E,HR 4个风险等级。在数据库表中保存的分别是这4个等级取值中的一个,如图2 所示。

我们的风险等级字段risklevel 是可以在列表模板中获取到其取值的,因为我们在内容模型中已经设置了该字段允许被在列表模板中取值。

如图 3 所示。

这样,我们在列表模板中就很容易通过 

{dede:listpagesize='10'}
    [field:risklevel/]
 {/dede:list}

来得到风险等级的取值。  

但是我们不同风险等级对应的提示图标却位于图片目录下,而且这些提示图片文件的名称没有任何规律,那么我们就需要通过if判断来根据风险等级的不同取值来设置不同的提示图片路径。 

那么应该如何来判断呢? 

需要使用到[field:array]标签,那么我们该如何来判断呢?我们首先要向大家介绍一个非常有用的dede标签:[field:array] 标签,该标签是标签 {dede:field name='array' /}的简写形式,该标签用在列表标签内部,例如:{dede:list}标签, {dede: arclist}等标签内部。 我们知道,在列表标签内部我们可以通过[field:字段名/]的形式得到某个数据库表字段的取值,那么当我们想要进行分支判断的时候,例如:根据风险等级取值的不同得到不同的图标路径,这个时候我们就必须借助[field:array] 标签了,[field:array] 标签标签代表查询得到的数据库表中的一条记录,具体的判断代码如下:

[field:array runphp='yes']			
					if(@me['risklevel']=="HR")@me="HR.png";
						else if(@me['risklevel']=="D")@me="D.png";
				                  else if(@me['risklevel']=="AA")@me="AA.png";
					[/field:array]				
					{/dede:list}

其意思就是说如果查询得到的风险等级字段的取值是HR,那么将输出HR.png, 如果查询得到的风险等级字段的取值是D,那么将输出D.png,如果查询得到的风险等级字段的取值是AA,那么将输出AA.png, 这里的HR.png,只是一个字符串,代表图片文件所在的位置,你可以设置成任意的图片路径,上面的代码是一种分支条件输出语句,@me代表的就是输出变量,刚进入标签field:array时,@me代表数据库的一条记录,其数据类型是数组,我们根据其中risklevle的取值来判断,从而将@me设置成不同的值,当退出标签field:array时,@me的值就会被显示在原位置。

这个标签的功能非常强大,它适合于我们最常见的场景,当我们在模板页面中需要根据特定的条件来进行if分支判断来显示不同的内容时,采用field:array标签将给我们带来极大的方便。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

织梦DedeCms取消后台登陆验证码的方法示例

经常建站和做优化的站长朋友们都很清楚网站的优化和客户体验度是永远需要排在第一位的,这篇文章主要介绍了织梦DedeCms取消后台登陆验证码的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

织梦栏目有缓存导致刚发布的文章条数和分页不同步处理方法

这篇文章主要介绍了织梦栏目有缓存导致刚发布的文章条数和分页不同步处理方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

加快织梦dedeCMS内容生成速度方法

最近有位站长朋友咨询一个十几万数据的DedeCMS系统,发现用Dedecms生成速度,慢的跟蜗牛一样,CPU达到100%,有时候半天都不动。这让大数据的网站的站长非常头疼,下面为大家解决这个问题
收藏 0 赞 0 分享

织梦dedecms的arclist循环中判断第一个li,则添加固定的css否则不加

这篇文章主要介绍了织梦dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

dedecms织梦模板里显示当前登录会员名

有时我们只是需要在网站某个地方显示一下当前登录的会员名字,这篇文章主要介绍了dedecms织梦模板里显示当前登录会员名,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

dedecms织梦模板中plus文件作用介绍及安全设置详解

很多新手用户在使用织梦CMS程序过程中,难免会碰到挂马中毒现象,所以事先我们要对网站及服务器安全做好预防备份处理,这篇文章主要介绍了dedecms织梦模板中plus文件作用介绍及安全设置详解,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解织梦DedeCms的安全问题优化解决办法(安全设置)

这篇文章主要介绍了详解织梦DedeCms的安全问题优化解决办法(安全设置)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解dedecms后台编辑器将回车<br>改为<p>的方法

DEDECMS编辑器默认回车[确认键]是返回<br />这样的。有时候我们需要返回<p> </p>这样的,今天我们就讲讲后台编辑器将回车将<br>改为<p>的有效教程吧,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

解决dedecms多域名和站点的绑定的问题

dedecms可以实现多级域名,不同域名的绑定.这篇文章主要介绍了解决dedecms多域名和站点的绑定的问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

DedeCMS调用相关文章likearticle附加自定义字段

DedeCMS非常灵活,可以根据关键词、文章标题调用文章,以提高内容之间的相关度,提高页面权重。这篇文章主要介绍了DedeCMS调用相关文章likearticle附加自定义字段,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多