使用 Shopify JavaScript Buy SDK 自定义查询检索包含其图像的文章对象
Retrieve article object including its image using the Shopify JavaScript Buy SDK custom query
我正在使用 shopify-buy SDK 尝试在前端使用 JavaScript 从我的 Shopify 商店中获取文章,遵循此处的 "Expanding the SDK" 说明:https://shopify.github.io/js-buy-sdk/#expanding-the-sdk.
使用下面的代码,我能够检索我的文章和一些我需要的字段。
// Build a custom query using the unoptimized version of the SDK
const articlesQuery = client.graphQLClient.query((root) => {
root.addConnection('articles', {args: {first: 10}}, (article) => {
article.add('title')
article.add('handle')
article.add('url')
article.add('contentHtml')
})
})
// Call the send method with the custom query
client.graphQLClient.send(articlesQuery).then(({model, data}) => {
console.log('articles data')
console.log(data)
})
但是,我确实也需要为每篇文章提取特色图片,不幸的是,当我在文章查询中添加行 article.add('image')
时,生成的文章数据记录 null
。我尝试构建一个自定义 productsQuery,它有一个类似的问题 - 我可以检索一些产品字段,但是当我尝试添加行 product.add('images')
时,我只是从店面 [=] 返回 null
29=].
有没有人有构建 custom/expanded 查询并成功检索图像的经验?
尝试以下操作:
// Fetch all products in your shop
client.graphQLClient.fetchAll().then((acticles) => {
console.log(acticles);
});
然后在控制台中检查您的文章有哪些可用的 属性 名称。如果 SDK 允许您获取任何图像数据,那么肯定应该有 imageSrc
|| 之类的东西imageUrl
|| img
......
感谢 Rebecca Friedman 在 js-buy-sdk 存储库的 github 问题部分提供此有效解决方案:
const articlesQuery = client.graphQLClient.query((root) => {
root.addConnection('articles', {args: {first: 10}}, (article) => {
article.add('title')
article.add('handle')
article.add('url')
article.add('contentHtml')
article.addField('image', {}, (image) => {
image.add('id')
image.add('originalSrc')
})
})
})
// Call the send method with the custom query
client.graphQLClient.send(articlesQuery).then(({model, data}) => {
console.log('articles data')
console.log(data) // works!
})
因为image字段是它自己的对象,所以你必须添加一个回调函数来指定你需要的字段。
我正在使用 shopify-buy SDK 尝试在前端使用 JavaScript 从我的 Shopify 商店中获取文章,遵循此处的 "Expanding the SDK" 说明:https://shopify.github.io/js-buy-sdk/#expanding-the-sdk.
使用下面的代码,我能够检索我的文章和一些我需要的字段。
// Build a custom query using the unoptimized version of the SDK
const articlesQuery = client.graphQLClient.query((root) => {
root.addConnection('articles', {args: {first: 10}}, (article) => {
article.add('title')
article.add('handle')
article.add('url')
article.add('contentHtml')
})
})
// Call the send method with the custom query
client.graphQLClient.send(articlesQuery).then(({model, data}) => {
console.log('articles data')
console.log(data)
})
但是,我确实也需要为每篇文章提取特色图片,不幸的是,当我在文章查询中添加行 article.add('image')
时,生成的文章数据记录 null
。我尝试构建一个自定义 productsQuery,它有一个类似的问题 - 我可以检索一些产品字段,但是当我尝试添加行 product.add('images')
时,我只是从店面 [=] 返回 null
29=].
有没有人有构建 custom/expanded 查询并成功检索图像的经验?
尝试以下操作:
// Fetch all products in your shop
client.graphQLClient.fetchAll().then((acticles) => {
console.log(acticles);
});
然后在控制台中检查您的文章有哪些可用的 属性 名称。如果 SDK 允许您获取任何图像数据,那么肯定应该有 imageSrc
|| 之类的东西imageUrl
|| img
......
感谢 Rebecca Friedman 在 js-buy-sdk 存储库的 github 问题部分提供此有效解决方案:
const articlesQuery = client.graphQLClient.query((root) => {
root.addConnection('articles', {args: {first: 10}}, (article) => {
article.add('title')
article.add('handle')
article.add('url')
article.add('contentHtml')
article.addField('image', {}, (image) => {
image.add('id')
image.add('originalSrc')
})
})
})
// Call the send method with the custom query
client.graphQLClient.send(articlesQuery).then(({model, data}) => {
console.log('articles data')
console.log(data) // works!
})
因为image字段是它自己的对象,所以你必须添加一个回调函数来指定你需要的字段。