布尔表达式 - 友好速搭 -- 开发文档

友好速搭

模板引擎
简介 Liquid 基础语法 Liquid 内置方法 友好速搭主题对象

布尔表达式

编程过程中,我们把返回truefalse的表达式,统称为布尔表达式。这些表达式,通常跟在ifunless等分支语法后面。


哪些情况下返回true?

除了nilfalse以外,其他所有的值返回都是true。 在如下示例中,虽然test变量不是布尔类型,但在if语句的返回为true

{% assign test = '' %}
{% if test %}
  看到这个说明返回是true。
{% endif %}

String(字符串),就算是空字符串,在布尔表达式中,仍然返回true。 例如,在没设置关店说明时,shop.close_desc是空字符串:

输入:

{% if shop.close_desc %}
  <h1>{{ shop.close_desc }}</h1>
{% endif %}

输出:

<h1></h1>

如果想检测字符串是否为空,可以使用blank对比:

{% unless shop.close_desc == blank %}
  <h1>{{ shop.close_desc }}</h1>
{% endunless %}

哪些情况下返回false?

只有当值为nilfalse时,才会返回false。 当指定主题对象没有值可返回时,就会返回nil。例如,当新增的商品,没有设置橱窗图片时,product.feature_image会返回nil,在布尔表达式中就会返回false

{% if product.feature_image %}
  <!-- 输出橱窗图片 -->
{% endif %}

在主题对象中,有很多布尔类型的属性,都可能返回false。 例如product.available,当返回false时,说明此商品不可出售。

总结

  返回true 返回false
true
false
nil
string
string(为空时)
0
1或2或3.14
array
array(为空时)
免费领取15天试用
立即注册
联系客服
微信咨询
微信二维码

领取免费试用资格

姓名 *

电话 *

公司名称

所在地区

意向产品

提交

提交成功

你好, XXX女士/先生 ,你的需求已提交成功,后续会有专门的客户经理与你电话联系。谢谢!