为什么我的嵌套 IF 在使用 first 和 last 属性时在 Smarty 中不起作用?

Why is my nested IF not working in Smarty when using first and last properties?

我正在尝试创建名字和姓氏的组合 属性。这行得通,但是当我将它嵌套到另一个时,如果它坏了。

常规代码:

{{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}}

结果

name, name, name & name

嵌套代码:

{{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}}

结果

,name, name, name

所以只给出最后的结果'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}}