【问题标题】:Find product detail using variant id使用变体 ID 查找产品详细信息
【发布时间】:2021-03-19 20:53:12
【问题描述】:

我有一个带有 ID 的架构变体列表,用户应该能够使用下拉框选择其中的任何一个,这样他就可以在 DIV 中动态更改产品及其变体。现在,我一直在寻找一种方法来使用架构中列出的变体 ID 获取产品标题、价格和其他详细信息。我真的很感激任何建议。 谢谢你。 Please check the image for more detail

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    您是否尝试在面向商家的应用或面向客户的店面中使用此信息?

    假设是后者(因为您的屏幕截图显示了 Shopify 中的主题/部分设置),无法仅从其 ID 获取变体对象,即使您可以也无法轻松地从变体对象移动到 Shopify 中的产品对象。

    您还需要为要使用的产品对象收集相关的产品句柄。一旦有了产品句柄,就可以很容易地使用 Liquid 或 Javascript 获取产品对象。

    假设您将产品句柄保存到名为 product_handle 的变量中,并将变体 ID 保存到名为 variant_id 的变量中,代码可能如下所示:

    液体

    {% assign product = all_products[product_handle] %}
    {% assign variant = product.variants | where: 'id', variant_id | first %}
    

    Javascript

    // Retrieve the product data using Shopify's frontend API endpoint
    fetch('/products/' + product_handle + '.js').then(function(response){ return response.json() }).then( 
      function(product){
        let variant = product.variants.find(function(variant){ return variant.id == variant_id })
        // Do stuff with your product & variant objects
      }
    )
    

    【讨论】:

    • 感谢您的回复。对此,我真的非常感激。实际上,界面的用户是公司的营销和传播人员。我正在制作一个包含“产品栏”的部分,他们可以添加特定的产品变体以及与他们正在创建的博客/文章相关的各种信息。变体 ID 在模式中为“选择”类型,当他们选择变体.id 时,shopify 应在该栏中显示产品标题、变体标题、V.image、V.price 和 V. 特色图像。我是 shopify 和流动性的新手,已经花了很多天来解决问题。
    • 听起来是个有趣的项目!如果产品栏将显示在网站上,您将需要变体 ID 和产品句柄才能获取所有产品信息。希望这可以帮助您到达那里 - 如果您仍然卡住,请告诉我。
    • 是的,您的回复对我很有帮助。我还有一件事要问。如上所述,如果无法从 V.id 获取产品信息,是否可以从给定的 V.id 获取同一产品中其他变体的信息?我在模式中使用 type:select 来选择 V.id,并尝试将 V.id 和 product_handle 作为数组作为值,但 shopify 不允许我这样做。有什么办法可以做吗?所以当用户点击一个选项时,它会输入两个相关的值。只是为了让它整洁简单,避免可能发生的人为错误:)
    • 是的——一旦你有了一个产品句柄,你就可以使用{% assign product = all_products[some_product_handle] %}获取产品对象,并且产品对象包括一个关联变量的数组product.variants。鉴于此,您可以使用 {% for variant in product.variants %} 遍历产品的所有变体,然后对它们做任何您需要做的事情。
    猜你喜欢
    • 2013-04-19
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2022-08-19
    • 2014-07-09
    相关资源
    最近更新 更多