Typo3 Fluid: elseif 内联符号

4

有没有以下示例的内联符号?

<f:if condition="{value}==1">
    <f:then>Value is 1</f:then>
    <f:else if="{value}==2">Value is 2</f:else>
</f:if>

感谢您的帮助
2个回答

6

可能会出现if视图助手的级联:

{f:if(condition:'{value}==1', 
    then:'Value is 1', 
    else:'{f:if(condition:\'{value}=2\', then:\'Value is 2\')}'
)}

通常的缺点是需要转义字符串定界符以用于嵌套的内联视图助手。


是的,我知道这个!我以为可能会有一个“扁平”的解决方案。 - Renato Morell

1
您的条件将默认为“值为2”,尽管该值可能不是...这不是真的,无论如何更加完整:
<f:if condition="{value}==1">
  <f:then>Value is 1</f:then>
  <f:else if="{value}==2">Value is 2</f:else>
  <f:else>Value is not valid</f:else>
</f:if>

简单的内联注释,如果不满足两个条件,则不输出任何内容:
{f:if(condition:'{value}==1',
  then: 'Value is 1',
  else: '{f:if(condition:\'{value}==2\',then: \'Value is 2\')}'
)}

在第二个条件中添加else子句:
{f:if(condition:'{value}==1',
  then: 'Value is 1',
  else: '{f:if(condition:\'{value}==2\',
    then: \'Value is 2\',
    else: \'Value is not valid\'
  )}'
)}

1
你的条件将默认为“值为2”,尽管该值可能不是。我看不到那个。我的示例只会在值既不是1也不是2时(如预期)什么都不显示。 - Renato Morell
1
好的,TYPO3经常让我感到惊讶,在我的本地主机上我得到了这个结果,但我打算提供一些额外的信息,那么内联注释呢?在我的本地主机上它是有效的...我会更正我的答案... - webMan
1
是的,内联符号的工作方式就是这样!我希望有一种不需要嵌套的方法。 - Renato Morell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接