Javascript 使用my theme.js.liquid文件中产品的variant.inventory_策略

Javascript 使用my theme.js.liquid文件中产品的variant.inventory_策略,javascript,shopify,shopify-template,Javascript,Shopify,Shopify Template,我想在我的theme.js.liquid文件中使用variant.inventory\u policy productPage: function (options) { } 我需要它在产品页面上显示不同的文本,这取决于是否选中了“缺货时继续销售”选项 我尝试过的每件事都会导致“未定义”。我猜我需要以某种方式从product函数中传递它,作为选择器还是什么?我只是不知道该怎么做。。。有人能帮忙吗 谢谢对于需要以某种方式传递信息的部分,您是对的。JavaScript中不会自动提供变量信息。要解

我想在我的
theme.js.liquid
文件中使用
variant.inventory\u policy

productPage: function (options) {

}
我需要它在产品页面上显示不同的文本,这取决于是否选中了“缺货时继续销售”选项

我尝试过的每件事都会导致“未定义”。我猜我需要以某种方式从product函数中传递它,作为选择器还是什么?我只是不知道该怎么做。。。有人能帮忙吗


谢谢

对于需要以某种方式传递信息的部分,您是对的。JavaScript中不会自动提供变量信息。要解决这个问题,有三种方法

  • 创建一个全局JS对象
  • 通过Liquid在HTML中呈现数据
  • 使用ShopifAJAXAPI
  • 对于第一种方法,只需在product.liquid中添加以下代码,并通过JavaScript中的VariantInfo对象访问信息

    <script>
    let variantsInfo = {
        {%- for variant in product.variants -%}     
            {{variant.id}} : "{{ variant.inventory_policy}}",
        {%- endfor -%}
    }
    </script>
    
    有关和获取的更多信息

    jQuery.getJSON('/products/red-rain-coat.js', function(product) {
      console.log(product);
    } );