【问题标题】:If statement with string length check带有字符串长度检查的 if 语句
【发布时间】:2021-07-19 18:17:22
【问题描述】:

我正在尝试检查树枝模板中的字符串是否为空,但我不明白这种行为。我想在满足条件时显示一个 textarea 元素。代码如下:

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

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

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

 {{ item.payload.customizationText|length }}

【问题讨论】:

标签: twig shopware


【解决方案1】:

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

如果你想在customizationText 一些内容的情况下显示文本区域,你应该使用这个:

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

https://twigfiddle.com/nmk2kq/4

【讨论】:

  • 仅供参考,过滤器 length 不是必需的 - demo
【解决方案2】:

你可以试试。

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

【讨论】:

    猜你喜欢
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 2013-02-26
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多