我试图检查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 %}