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

这篇具有很好参考价值的文章主要介绍了DEDE模板中如何使用if进行多分支判断的教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们在用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标签将给我们带来极大的方便。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。文章来源地址https://www.toymoban.com/news/detail-432411.html

到了这里,关于DEDE模板中如何使用if进行多分支判断的教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Javascript保姆级教程】if判断语句的三种形式

    嗨,欢迎来到Javascript保姆级教程!在编写代码时,我们经常需要根据不同的情况来做出不同的决策和操作。这时候,就需要用到条件判断语句。今天,我们将学习Javascript中的三种主要条件判断语句:if、if…else和if…else if…。让我们一起来详细了解它们吧! 首先,我们来介

    2024年04月22日
    浏览(35)
  • 如何 Java 中的大量的 if else 判断?

    目录 问题出现: 如何 Java 中的大量的 if else 判断? 解决方案:    1.策略模式     2.工厂模式     3.映射表    4.反射+配置文件------极力推荐使用!!!!! 在编写Java相关程序时,我们经常遇到:  大量的 if  else 语句,无不让人内心疯狂,这都是些啥代码啊!!!!!

    2024年02月10日
    浏览(36)
  • nginx 逻辑判断if语句使用

    当nginx 需要多重过滤转发时,我们会用到逻辑判断if,下面是栗子: if 语句可以过滤下一级路径,从而转发到实际的资源地址。

    2023年04月09日
    浏览(70)
  • 如何优雅的在SpringBoot中编写选择分支,而不是大量if else?

    部门通常指的是在一个组织或企业中组成的若干人员,他们共同从事某一特定工作,完成共同的任务和目标。在组织或企业中,部门通常是按照职能、工作性质或业务范畴等因素进行划分的,如财务部门、人力资源部门、市场部门等。 部门编号是公司或组织内部对不同职能部

    2024年02月08日
    浏览(42)
  • MySQL中使用IF子查询实现条件判断(where之后用if)

    废话不多说,直接上代码

    2023年04月23日
    浏览(62)
  • Java中if判断语句的使用详解

    摘要:if判断语句是Java中最基本也是最常用的流程控制语句之一。本文将详细介绍Java中if语句的用法和常见的应用场景,帮助读者深入理解并正确使用if语句。 正文: 一、if语句的基本语法 其中,condition为一个布尔表达式,即返回true或false的表达式。如果condition为true,就执

    2024年01月19日
    浏览(44)
  • shell 脚本中 if 各种条件判断的使用

    1.1 if-elif-else语法格式 1.2 if-else语法格式 1.3 if语法格式 示例: 运行结果: 示例: 运行结果: 示例: 运行结果: 示例: 运行结果:

    2024年02月17日
    浏览(53)
  • Optional的使用(代替if判断是否为空)

    我的使用 雨泽的使用 结果: 这里不知道他有没有走map方法。 但是通过看源码可以知道。其实他是走了map方法的,但是为什么没有抛出空指针异常呢?你null.map()了。 因为他内部把null转换了一下,你Optional.ofNullable(sysUser)返回值不是null了。所以调用map方法不会出现空指针异常

    2024年01月25日
    浏览(50)
  • mysql实现if语句判断功能的六种使用形式

    在Mysql数据库中实现判断功能有很多方式,具体又分为函数和if语句形式,函数的好处是可以作为sql的一部分来运行,而if语句则需要在存储过程中使用。 语法: 解释: 判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值 参

    2024年02月15日
    浏览(51)
  • 在Mybatis中如何在where-if的语句中判断数组或列表的长度是否为0?

    可以使用OGNL表达式来判断列表或数组的长度是否为0。OGNL是Object Graph Navigation Language的缩写。它是一种表达式语言,用于从对象图中进行导航和访问。在Mybatis中,OGNL可用于在动态SQL语句中引用变量和方法。 假设要查询一个列表,查询条件包括一个列表idList,如果该列表或数

    2024年02月14日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包