在我的Shopify页面上执行此操作:
{{ product.selected_or_first_available_variant | json }}
产生这个JSON输出。
{
"id": 22061938375,
"title": "Small / Black",
"option1": "Small",
"option2": "Black",
"option3": null,
"sku": "LSL2",
"requires_shipping": true,
"taxable": true,
"featured_image": {
"id": 14987460807,
"product_id": 6956222919,
"position": 1,
"created_at": "2016-06-24T11:03:47+01:00",
"updated_at": "2016-06-24T18:17:08+01:00",
"src": "https://cdn.shopify.com/s/files/1/1071/2704/products/Lace1-Black-LS-LifeStyle-Shop-R.jpg?v=1466788628",
"variant_ids": [
22061938375
]
},
"available": false,
"name": "Long Sleeve Chantilly Lace Shimmy - Small / Black",
"options": [
"Small",
"Black"
],
"price": 8800,
"weight": 454,
"compare_at_price": null,
"inventory_quantity": 0,
"inventory_management": "shopify",
"inventory_policy": "deny",
"barcode": ""
}
如果我这样做:{{ product.selected_or_first_available_variant.id | json }}
我得到:22061938375
(正确)。
但是,如果我尝试使用名称来抓取另一个密钥:{{ product.selected_or_first_available_variant.name | json }}
我得到null
(错误)。
这里到底发生了什么?为什么我只能访问某些键而不是所有键,即使我可以在完整输出中看到它们?这对我没有多大意义。
任何帮助非常感谢。
谢谢!
答案 0 :(得分:0)
我相信你的问题是" name"实际上并不是variant的成员。我猜这个"名字"出现在JSON输出中的是动态生成的。它只是产品标题和变体标题的串联。
此外,使用JSON过滤器也是过度的。 你可以做到
{{ product.title }} {{ product.selected_or_first_available_variant.title }}
如果您知道该产品有选项或类似的内容:
{% assign currVar = product.selected_or_first_available_variant %}
{{ product.title }}{% unless currVar.title contains 'Default' %} {{ currVar.title }}{% endunless %}