目录
Filter有许多,有包括对Array、Cart、Math、Media、Money、String以及其他...的处理
在 Shopify 中,Filter(过滤器)是 Liquid 模板语言中的一种功能,用于对数据进行处理、转换或格式化。过滤器通常应用于 Liquid 变量,以修改变量的输出。
Filter(Array、Cart、Math、Media、Money、String...)
用法:通过 “ | ” 操作符进行filter操作, 可以在{{ }}也可以在{% %}中使用。
对String的处理
append、base64_decode、base64_encode、escape、remove、slide、upcase 等等
{{ 'Health potion' | upcase }} 输出:HEALTH POTION
可以往filter里给定值,类似于函数传值,也可以往后继续追加filter操作。
例如 {{ 'Health potion' | slice: 0, 5 | append: 'e' }} 输出:Healte,裁切下标0到4为止再在末尾追加字符串'e'。
对Math的处理
abs、plus、times、round、minus、floor等等
{{ 2 | plus: 2 }} 输出: 4
{{ -3 | abs | plus: 2.4 | round }} 输出 5, 取3的绝对值再加2再对数值四舍五入至整数。
对Cart的处理
item_count_for_variant、line_items_for
{{ cart | item_count_for_variant: 40858593230953 }} 输出2,表示购物车里有两件变体id为40858593230953的商品。
对Media的处理
image_url、external_video_url、article_img_url等等
variable,可以是article、collection、image、product等等,其他可以查阅Liquid filters
{{ variable | image_url: width: number, height: number }}
对Money的处理
money、money_with_currency等等
{{ product.price | money }} 输出 $10.00
对Array的处理
first、join、size、sum、last、map等等
data:
{
"collection": {
"products": [
{
"title": "Blue Mountain Flower"
},
{
"title": "Charcoal"
},
{
"title": "Crocodile tears"
}
]
}
}{% assign first_product = collection.products | first %}
{{ first_product .title }} 输出 Blue Mountain Flower
{% assign first_product = collection.products | last %}
{{ first_product .title }} 输出 Crocodile tears
{{ collection.products | size }} 输出 3
{%- assign product_titles = collection.products | map: 'title' -%}
将数组成员title字段集合成数组["Blue Mountain Flower", "Charcoal", "Crocodile tears"]
官方文档链接
具体可查阅官方文档Liquid filters