带有字符串长度检查的If语句



我试图检查twitch模板中的字符串是否为空,但我不理解这种行为。我想在满足条件时显示一个文本区域元素。这是代码:

{% if item.payload.customizationText|length == 0  %}    
<textarea class="customization-text">{{ item.payload.customizationText|trim }}</textarea>
{% endif %}

它总是显示文本区域,无论字符串中是否有内容。我是不是错过了什么?顺便说一句,它在shopware 6中,dump((函数会抛出一个错误,因为它是未定义的。

此外,此表达式仅输出字符串。长度表达式不可用吗?

{{ item.payload.customizationText|length }}

我认为这个问题有一个错误。只有当变量为空时,才打印该变量是没有意义的。

如果你想显示文本区域,以防customizationText一些内容,你应该使用这个:

{% if item.payload.customizationText|trim|length  %}    
<textarea class="customization-text">{{ item.payload.customizationText|trim }}</textarea>
{% endif %}

https://twigfiddle.com/nmk2kq/4

你可以试试。

{% if item.payload.customizationText is defined and item.payload.customizationText is empty %} 
<textarea class="customization-text">{{ item.payload.customizationText|trim }}</textarea>
{% endif %}

最新更新