Shopify - variant中的name为null,但其他键不是

时间:2016-06-28 16:27:46

标签: shopify liquid

在我的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(错误)。

这里到底发生了什么?为什么我只能访问某些键而不是所有键,即使我可以在完整输出中看到它们?这对我没有多大意义。

任何帮助非常感谢。

谢谢!

1 个答案:

答案 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 %}