如何在速度模板模板中使用嵌套的 if 条件?

问题描述

我正在尝试使用速度模板创建嵌套的 if 条件。我不确定它是否正确。如果可行,请给出建议..!!

#if(myExpression1)
#if(myExpression2)
 Result 1
#else
  Result 2
#end
#else
  Result 3
#end

解决方法

是的,这有效。您可以在 if 中嵌套 if。只需确保所有 #if 语句都以 #end

结束

在默认 hybris 中有一些嵌套语句的示例。例如在copyable-template.vm

#if ($hasEqualsProperties)
    <code>
    #if ($superEquals)
        <code>
    #end
    <code>
    #foreach($v in $equalsProperties)
        #if ($v.type == 'boolean')
            <code>
        #else
            <code>
        #end
    #end
#end

为简单起见,我删除了一些代码,只保留了 # 语句

,

我们可以做各种条件操作,这里只是一个例子。

#if ( $ctx.isGuest() )
        #set ($orderInfoUrl = "${ctx.baseUrl}/guest/order/${ctx.orderGuid}")
    #else
        #set ($orderInfoUrl = "${ctx.baseUrl}/my-account/order/${ctx.orderCode}")
    #end