Shopify二次开发之三:liquid语法学习(Filters)

目录

Filter有许多,有包括对Array、Cart、Math、Media、Money、String以及其他...的处理

对String的处理

对Math的处理

对Cart的处理

对Media的处理

对Money的处理

对Array的处理

官方文档链接


在 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

你可能感兴趣的:(shopify,学习,前端)