类型
主题模板包含以下5种类型:
String | 字符串 |
---|---|
Number | 数值 |
Boolean | 布尔值 |
Array | 数组 |
Nil | 空值 |
在主题模板中,可以通过assign
或capture
来初始化除主题对象(通常也是主题变量)外的变量。
String(字符串)
字符串可以通过单引号''
或双引号""
来定义:
{% assign my_string = "Hello World!" %}
Number(数值)
数值包括整型和浮点型:
{% assign my_intNum = 25 %}
{% assign my_floatNum = 25 %}
Boolean(布尔值)
布尔值包括true
和false
:
{% assign foo = true %}
{% assign bar = false %}
Array(数组)
数组是包含某一类型变量的列表。
获取数组中的所有值
要访问数组中的所有变量,可以通过for
或loop
来遍历。
输入:
<!— 例如商品中的类型为“上衣”、“衬衫” -->
{% for type in product.types %}
{{ type.name }}
{% endfor %}
输出:
上衣 衬衫
获取数组中的某个值 可以通过[]来获取数组中指定位置的值,数组起始索引为0。
输入:
<!--例如商品中的类型为“上衣”、“衬衫” -->
{{ product.types[0] }}
{{ product.types[1] }}
输出:
上衣
衬衫
初始化一个数组
在主题模板中,无法直接初始化数组对象,可以通过split
方法将一个字符串转化成一个字符串数组。
输入:
{{ 'aa,bb,cc' | split: ',' | json }}
输出:
["aa","bb","cc"]
Nil(空值)
当无结果可返回时便会返回 Nil,它表示的是空值,而不是一个 Nil 的字符串。
当用json
方法转化时,它会输出为 JavaScript 中的null
。
它在if
语法中使用时,相当于false
,可以用来检测值是否存在。
{% if pages["welcome"] %}
<h1>{{ pages["welcome"].title }}</h1>
{% endif %}
Nil 如果被直接输入到页面时,会表现为空字符串。
输入:
不存在的页面: {{ pages["not_exist"] }}
输出:
不存在的页面: