【问题标题】:How To Query The Price Of A Product Using Shopify Storefront API and GraphQL如何使用 Shopify Storefront API 和 GraphQL 查询产品价格
【发布时间】:2020-10-10 04:11:32
【问题描述】:

我对 Shopify Storefront API 和 GraphQL 都是全新的。在过去的 3-4 个小时里,我一直在努力阅读文档并尝试查找和编写一个查询,无论如何,在我看来,这应该很简单。

简而言之,我有一个店面,其中包含某些带有自定义购买按钮的产品。每个购买按钮的 ID 对应于我实际 shopify 商店中的产品 ID,即 ../products/5854987878567

当页面加载时,我需要查询我的商店以获取更新的价格,然后在按钮文本中反映这些价格,以便人们准确了解他们的花费。

为此,我提取了所有唯一的按钮 ID 并将它们推送到一个新的数组,我的想法是我可以使用 GraphQL 一次查询所有 ID 并取回一个不错的对象,然后我可以解析和更新按钮相应地。

兜兜转转几个小时后,我离成功还差得远。

我一直在阅读Query Root documentation,似乎他们确实有products 连接,我认为这是查询商店中所有产品的入口点。

但是,在 query 字段本身下,他们似乎拥有每个字段但 id。

available_for_sale
created_at
product_type
tag
title
updated_at
variants.price
vendor 

是他们拥有的所有领域。自从我开始写这篇文章以来,我找到了sortKey,但它失败了,错误为"Field 'sortKey' doesn't exist on type 'QueryRoot'" 叹息。

这是我目前正在处理的查询。我不确定这个想法是否可行,因为如果我一次只能查询一个 id,那么每位访问者将需要进行数十次 API 调用。

$.ajax({
              type : 'POST',
              url : 'https://xxxxx.myshopify.com/api/2020-10/graphql.json',
              headers: {
                'X-Shopify-Storefront-Access-Token': 'xxxxx',
                'Content-Type': 'application/graphql'
              },
              data: 'query products { sortKey(id: "5854987878567") }',
              success: function(res) {
                console.log(res)
              },
              error: function(status) {
                console.log(status)
              }
            });

任何帮助将不胜感激!

【问题讨论】:

    标签: graphql shopify shopify-app shopify-api shopify-storefront-api


    【解决方案1】:

    查询 = ''' { productVariants(first:1,query:"title:%s") { 边缘 { 节点 { ID 标题 } } } }
    ''' % 标题

    创建一个函数并将“title”作为参数。

    定义产品变体(标题): 客户端 = shopify.GraphQL() 查询 = ''' { productVariants(first:1,query:"title:%s") { 边缘 { 节点 { ID 标题 } } } }
    ''' % 标题

    【讨论】:

    • 需要帮助只需发送电子邮件至 6developer3i@gmail.com
    【解决方案2】:

    您可以像这样从产品变体中获取价格 - “{
    productVariants(first:10, query:"{apply your condition here}") { 边缘 { 节点 { 店面标识 比较价格 价格 } } } } % 标识”

    【讨论】:

      【解决方案3】:

      我不明白你的意思,但下面的 GraphQL 得到 "id""title""description"、每个产品(10 个产品)的“第一张图片” 和 “价格”

      {
          products(first:10) {
          edges {
            node {
              id
              title
              description
              featuredImage {
                url
              }
              variants(first: 1) {
                edges {
                  node {
                    priceV2 {
                      amount
                    }
                  }
                }
              } 
            }
          }
        }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-11
        • 2019-03-30
        • 2020-10-22
        • 2023-02-07
        • 1970-01-01
        • 1970-01-01
        • 2021-02-23
        • 1970-01-01
        相关资源
        最近更新 更多