如何将字符串与TYPO3流体中的变量进行比较

如何将字符串与TYPO3流体中的变量进行比较,typo3,fluid,view-helpers,typo3-9.x,Typo3,Fluid,View Helpers,Typo3 9.x,我想做一个简单的比较,例如: if($somevar==='somestring') 现在,我发现了一些这样做的例子: <f:if condition="{somevar} == 'somestring'"> ... ... TYPO3 core 9.5中也有许多地方 但官方文档告诉我们,情况并非如此,我们必须使用一种基于数组的奇怪解决方法: XX/YY处的字符串是不允许的,但是,目前可以通过比较数组实现字符串比较 由于复杂的实现,使用Fluid还不可能与字符串(如…)进行

我想做一个简单的比较,例如:

if($somevar==='somestring')

现在,我发现了一些这样做的例子:

<f:if condition="{somevar} == 'somestring'"> 
...

...
TYPO3 core 9.5中也有许多地方

但官方文档告诉我们,情况并非如此,我们必须使用一种基于数组的奇怪解决方法:

XX/YY处的字符串是不允许的,但是,目前可以通过比较数组实现字符串比较

由于复杂的实现,使用Fluid还不可能与字符串(如…)进行比较

()

不管这意味着什么


为了避免问为什么:在TYPO3 9中,什么是比较字符串和变量的推荐方法?从什么时候起,这是可能的?

我认为文档不是最新的

在早期版本(小于7)中,无法比较字符串。由于阵列需要并找到了一种变通方法,因此它以多种方式进行了升级。所以你会发现网络上充斥着它


现在可以比较字符串,也可以比较
和“and”多个表达式。

从TYPO3 8.7开始,Fluid if ViewHelper可以进行字符串、数字和数组比较,而无需将字符串放入数组中。但是,不支持globbing或正则表达式(如果您用PHP编写自定义ViewHelper,那么天空就是极限)

支持的比较运算符为:==,!=,=和%。还支持逻辑运算符&&和| |。你可以用!(比如!{enable})

我听说文档团队正在努力更新和重组流体文档。同时,本页提供了许多有用的提示和技巧:

示例(混合使用标记和内联语法):

  • 字符串比较:将变量与字符串进行比较
  • 东西
    
  • 比较整数(流体内联语法)
  • {f:variable(名称:'bar',值:123)}
    {f:variable(名称:'baz',值:50)}
    {f:if(条件:{bar}>{baz}),则:'This will print')}
    
  • 布尔运算符:&&||
  • 这将打印。
    
  • 字符串“false”将计算为布尔值false(流体内联语法)
  • {f:variable(名称:“不真实”,值:“错误”)}
    {f:if(条件:不真实,则:'Will not print',否则:'Will print')}