我正在使用Shopify的BUY 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

最佳答案

您可以尝试将多个过滤器与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上测试了类似的东西,并且工作正常。

希望这会有所帮助。

关于javascript - Shopify Buy SDK-多个过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48246953/

10-13 09:02