您的位置:首页 > CMS系统 > > 正文

怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)

更多 时间:2021-10-13 00:46:06 类别:CMS系统 浏览量:2267

怎么调用dede自定义表单

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

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

怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)

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

怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)

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

如图 3 所示。

怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)

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

  • {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.jpg" alt="怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)" border="0" />
    
  • 其意思就是说如果查询得到的风险等级字段的取值是HR,那么将输出HR.jpg" alt="怎么调用dede自定义表单(DEDE模板中如何使用if进行多分支判断的教程)" border="0" />

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

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

    您可能感兴趣