Filter-format(数据格式)
Filter format
format(数据格式)**
- date
 - json
 - url_encode
 - url_decode
 - string
 - px
 - is_empty
 - _default
 
date
将时间戳转换为另一种日期格式。
- 该过滤器date接受与 Ruby 的 strftime 方法相同的参数来格式化日期。有关简写格式的列表,请参阅Ruby 文档或 strftime 参考和沙盒。
 
// 1.数据
{
  "article": {
    "created_at": "2022-04-14 16:56:02 -0400"
  }
}
// 2.代码
{{ article.created_at | date: '%B %d, %Y' }}
// 3.输出
April 14, 2022
json
将字符串或对象转换为 JSON 格式。
- 在 JavaScript 中使用 JSON 输出时,无需将其括在引号中,因为json过滤器已包含引号。json过滤器还会对输出中的任何引号进行转义。
 
{{ product | json }}
{"id":6792602320961,"title":"Crocodile tears","handle":"crocodile-tears","description":"","published_at":"2022-04-22T11:55:58-04:00","created_at":"2022-04-22T11:55:56-04:00","vendor":"Polina's Potent Potions","type":"","tags":["Salty"],"price":5600,"price_min":5600,"price_max":5600,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":39888242344001,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Crocodile tears","public_title":null,"options":["Default Title"],"price":5600,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/polinas-potent-potions.myfecify.com\/cdn\/shop\/products\/amber-beard-oil-bottle.jpg?v=1650642958"],"featured_image":"\/\/polinas-potent-potions.myfecify.com\/cdn\/shop\/products\/amber-beard-oil-bottle.jpg?v=1650642958","options":["Title"],"media":[{"alt":null,"id":21772501975105,"position":1,"preview_image":{"aspect_ratio":1.5,"height":2974,"width":4460,"src":"\/\/polinas-potent-potions.myfecify.com\/cdn\/shop\/products\/amber-beard-oil-bottle.jpg?v=1650642958"},"aspect_ratio":1.5,"height":2974,"media_type":"image","src":"\/\/polinas-potent-potions.myfecify.com\/cdn\/shop\/products\/amber-beard-oil-bottle.jpg?v=1650642958","width":4460}],"requires_selling_plan":false,"selling_plan_groups":[],"content":""}
url_encode
将url字符串编码为 URL 安全的格式,主要用于 构建 URL 查询参数。
- 把 URL 中不允许或有特殊意义的字符,转换成 %xx 形式的 百分号编码(percent-encoding)。
 - 保留的安全字符(不会编码):
A–Z a–z 0–9 - _ . ~ - 空格 编码为
 - 其它字符 → 转成 %XX 的形式(16 进制表示 ASCII/UTF-8 字节)。
 
// 1.代码:
{{ 'test@test.com' | url_encode }}
// 2.输出
test%40test.com
url_decode
解码url字符串
// 1.代码:
{{ 'test%40test.com' | url_decode }}
// 2.输出
test@test.com
string
把一个变量转换为字符串类型,返回对应的字符串。
- int、float → 直接转换为字符串形式。
 - bool → true 转换成 "1",false 转换成 ""(空字符串)。
 - string → 原样返回。
 - null → 转换为 ""(空字符串)。
 
// 1.代码:
{{ 323 | string }}
// 2.输出字符串
323
px
在字符串后面加上px
- 如果字符串结尾为:
px,PX,则会处理成px - 如果字符串结尾不是
px,则会加上px 
// 1.代码:
{{ 200 | px }}
// 2.输出字符串
200px
is_empty
检查值是否为空
// 1.代码:
{{ 200 | is_empty }}
{{ '0.00' | is_empty }}
{{ 0.0 | is_empty }}
{{ '0' | is_empty }}
// 2.输出字符串
false
true
true
true
_default
为下列任意变量设置默认值:
- 空字符串
 - false
 - null
 
// 1.数据
{
  "product": {
    "selected_variant": null,
    "url": "/products/health-potion"
  }
}
// 2.代码
{{ product.selected_variant.url | default: product.url }}
// 3.输出
/products/health-potion