为什么我的嵌套 IF 在使用第一个和最后一个属性时在 Smarty 中不起作用?



我正在尝试创建具有第一个和最后一个属性的名称组合。这有效,但是当我将其嵌套到另一个中时,如果它坏了。

常规代码:

{{foreach from=$xxx.aaaa item='aaaa_item' name=members}}    
{{if $smarty.foreach.members.last}}
 & {{$aaaa.bbbb}}
{{elseif $smarty.foreach.members.first}}
{{$aaaa.bbbb}}
{{else}}
, {{$aaaa.bbbb}}
{{/if}}
{{/foreach}}

结果

名称,名称

,名称和名称

嵌套代码:

{{foreach from=$xxx.aaaa item='aaaa_item' name=members}} 
{{if $aaaa_item.cccc == "no"}}
{{if $smarty.foreach.members.last}}
 & {{$aaaa.bbbb}}
{{elseif $smarty.foreach.members.first}}
{{$aaaa.bbbb}}
{{else}}
, {{$aaaa.bbbb}}
{{/if}}

{{/if}}
{{/foreach}}

结果

,名称

,名称,名称

所以它只给出最终"else"的结果

谁能帮我?

实际上刚刚找到了解决方案:

{{foreach from=$xxx.aaaa item=aaaa' name=members}}
{{if $aaaa_item.cccc == "no"}}      
{{if $smarty.foreach.members.first}}{{$aaaa.bbbb}}
{{elseif $smarty.foreach.members.last}} & {{$aaaa.bbbb}}
{{elseif $smarty.foreach.members}}, {{$aaaa.bbbb}}
{{/if}}
{{/if}}
{{/foreach}}

相关内容

最新更新