主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
dede模板中如何使用if进行多分支判断?
我们在使用dede作为模板时,经常会遇到需要根据某种条件判断显示不同内容的情况,即dede模板中的多分支判断。例如,通常情况下,我们需要根据风险管理数据库表中risklevel字段的不同值显示不同的风险警告图标。如图1所示。
红框中投资项目名称前面的图标表示不同的风险等级,包括AA、D、E和HR .数据库表中保存的是这四个等级值中的一个,如图2所示。
我们的risklevel字段risk level可以在列表模板中获取,因为我们已经在内容模型中设置了该字段,以允许在列表模板中获取它。
如图3所示。
这样,我们就可以轻松地传入列表模板。
{ dede:list pagesize = & amp;#39;10 & amp#39;}【field:risk level/】{/dede:list }获取风险等级的值。
但是不同风险等级对应的提示图标位于图像目录中,这些提示图像文件的名称没有规律,因此我们需要通过if判断根据不同的风险等级设置不同的提示图像路径。
那么我们应该如何判断呢?
需要使用【field:array】标签,那么我们如何判断呢?
首先,我们将介绍一个非常有用的dede标签:【field:array】标签,它是标签{ dede:field name =‘array‘/}的缩写形式,它用在列表标签内部,例如{dede:list}标签、{dede: arclist}标签等。
我们知道,我们可以在列表标签内以【field: field name/】的形式获取数据库表字段的值,因此当我们想要进行分支判断时,例如,我们必须使用【field:array】标签,它表示通过查询获得的数据库表中的一条记录。具体判断代码如下。
【field:array runphp = & amp;#39;是的& amp#39;】if(@ me【& amp;#39;风险等级和风险等级。#39;】= = = & quot;HR & quot)@ me = & quotHR.png & quot;else if(@ me【& amp;#39;风险等级和风险等级。#39;】= = = & quot;D & quot)@ me = & quotD.png & quot;else if(@ me【& amp;#39;风险等级和风险等级。#39;】= = = & quot;AA & quot)@ me = & quotAA.png & quot;【/field:array】{/dede:list }表示如果查询的风险等级字段的值为HR,则输出HR.png;如果查询的风险级别字段的值为D,则将输出D.png。如果查询风险级别字段的值为AA,则将输出AA.png。这里的HR.png只是一个表示图像文件位置的字符串。您可以将其设置为任何图像路径。上面的代码是一个分支条件输出语句,@me表示输出变量。当您第一次输入标签字段:array时,@me表示数据库中的一条记录,其数据类型为array。我们根据risklev的值对其进行判断,从而将@me设置为不同的值。退出tag field:array时,@me的值将显示在原始位置。
这个标签的功能非常强大,它适用于我们最常见的场景。当我们需要根据模板页面中的特定条件来判断分支是否显示不同的内容时,采用字段:array标记会给我们带来很大的方便。
这几篇文章你可能也喜欢:
- Dede:字段名=位置如何去掉最后一个大于号?
- dede如何按ID排序(由decode使用)
- 如何在dede中调用文章属性的名称
- dede中第一次登录密码错误(dede忘记登录密码)怎么办?
- dede如何添加自定义属性?
本文由主机参考刊发,转载请注明:如何在DEDE模板中使用if来定义ifdef? https://zhujicankao.com/114178.html
评论前必须登录!
注册