返回
从 Shopify Storefront API GraphQL 查询中获取变体父级名称:完整指南
vue.js
2024-03-17 03:34:48
使用 Shopify Storefront API GraphQL 查询获取变体父级名称
作为一名程序员,我经常使用 GraphQL 来获取数据,但对于新手来说,这可能会让人不知所措。最近,我遇到了一项任务,即从 Shopify Storefront API 获取变体父级名称,这让我伤透了脑筋。
问题
我的目标是创建一个数据结构,用于在屏幕上显示产品的变体和父级变体。然而,GraphQL 查询返回的标题属性中只有由斜杠分隔的变体值,没有关于它们所属父级的任何信息。
解决方案
经过一番研究,我发现可以使用 metafield
字段来解决这个问题:
metafield (key: "product_parent", namespace: "product_page") {
value
}
此字段返回一个包含变体父级名称值的元字段。接下来,可以使用以下代码解析元字段值:
const parentName = metafield.value.split("/")[0];
更新数据结构
有了解析出的父级名称,我更新了我的数据结构:
let product = {
title: 'Awesome Hoodie',
variations : [{
id: '1',
name: parentName,
values: [{
id: '1',
name: 'Red'
},
{
id: '2',
name: 'Blue'
},
{
id: '2',
name: 'Blue'
}]
},{
id: '2',
name: 'Size',
values: [{
id: '3',
name: 'Small'
},
{
id: '4',
name: 'Medium'
},
{
id: '5',
name: 'Large'
}]
}]
}
结论
通过使用 metafield
字段和解析元字段值,我能够从 Shopify Storefront API GraphQL 查询中获取变体父级名称。这使我能够创建更复杂的数据结构,从而轻松管理变体和定价。
常见问题解答
-
什么是元字段?
元字段是 Shopify 用于存储附加产品和变体数据的自定义字段。 -
如何使用 GraphQL 查询元字段?
在你的查询中,使用metafield
字段并指定元字段的键和命名空间。 -
如何解析元字段值?
取决于元字段的类型,你可以使用 JavaScript 来解析和提取所需信息。 -
为什么使用
split('/')
来解析元字段值?
在我们的案例中,元字段值使用斜杠分隔,因此我们使用split('/')
函数来获取第一个分隔符之前的父级名称。 -
我可以在哪里了解更多关于 GraphQL 和 Shopify Storefront API?
Shopify 提供了丰富的文档和教程,可以帮助你入门: