Shopify购买SDK - 多个过滤器

时间:2018-01-14 05:29:28

标签: javascript html sdk shopify

我正在使用Shopify的购买SDK创建自定义店面。

import Client from 'shopify-buy'

const client = Client.buildClient({
  domain: 'xxxxxxxxxxx.myshopify.com',
  storefrontAccessToken: 'xxxxxxxxxxxxxxxxxe6347d45b08'
})

我抓取所有产品没有问题:

client.product.fetchAll().then((products) => {
  // Do something with the products
  console.log(products)
})

我也没有按标签过滤的问题:

let query = {
  query: "tag:[aeropress,espresso]"
}  
client.product.fetchQuery(query).then((products) => {
  console.log(products)
})

并且没有按product_type提取问题:

let query = {
  query: "product_type: Coffe Beans"
}  
client.product.fetchQuery(query).then((products) => {
  console.log(products)
})

我遇到问题的地方是使用多个查询进行过滤(在本例中为tag和product_type)。我尝试了几种不同的方法来构建查询,但无济于事:

let query = {
  query: "product_type: Coffe Beans, tag: [aeropress, espresso]"
}

let query = {
  query: "{product_type: Coffe Beans, tag: [aeropress, espresso]}"
}

我确定我缺少一些简单的东西(或者可能无法使用多个过滤器进行查询?)。有没有其他人使用Shopify Buy SDK和多个过滤器成功?

供参考,我正在关注这些文档:

https://shopify.github.io/js-buy-sdk/

https://help.shopify.com/api/storefront-api/reference/object/shop#products

https://github.com/Shopify/js-buy-sdk/blob/master/tutorials/MIGRATION_GUIDE.md

1 个答案:

答案 0 :(得分:1)

您可以尝试使用带AND,OR的多个过滤器作为以下查询:

let query = {
  query: "product_type:'Coffe Beans' AND tag:'aeropress' OR tag:'espresso'"
}

因此,您可以添加具有多个条件的类型的项目

它看起来类似于以下链接中描述的店面搜索查询: https://help.shopify.com/manual/sell-online/online-store/storefront-search

我已经在shopify-buy v1.0.2上测试了类似的东西,它运行正常。

希望这会有所帮助。