2022年8月9日

Shopify Flow -在Liquid中使用赋值、捕获和映射

在允许Liquid In Flow的字段中,您现在可以充分利用标签分配而且捕获设置变量。您可以使用地图过滤器从另一个数组创建一个值数组。

分配
Assign允许对单个字段或列表进行复杂的数学运算和字符串操作。它还允许您在另一个标记中使用一组标记的输出。例如,你可以像这样生成一个1到10之间的随机数:


{% assign min = 1 %}
{% assign Max = 10%}
{%分配diff =最大|减去:最小%}
{% assign theRandomNumber = "now" | date: "%N" | modulo: diff | plus: min %}

捕获
Capture允许您编写复杂的逻辑和字符串,然后将液体块的输出捕获到变量。这意味着你可以在一个地方为液体写函数,然后在简化的液体中使用变量。

' ' '
{%-捕获标题-%}
{% if产品。标题包含“XYZ”-%}
大写标题:{{product。标题| upcase}}
{%- else -%}
小写标题:{{product。标题| downcase
{%- endif %}
{%- endcapture %}

使用标题字段{% endcomment %}

{{title}}
' ' '

地图
Map允许您轻松地从列表中项目的特定属性创建值列表。你也可以将this和assign结合起来创建一个变量。例如,它输出集合中所有产品的标题,用逗号分隔。


{%-分配product_title =集合。产品|映射:'title' -%}
{{product_titles | join: ', '}}

了解更多Shopify流Shopify帮助中心。