是否在js.liquid文件中使用Shopify元字段?

时间:2018-09-12 09:51:10

标签: javascript shopify liquid

我想更改我的产品数量选择器的工作方式。

此刻,它递增1,这是标准值。但是,我所有的产品都有不同的数量。

所以我用一个int值为它们设置了元字段。

因此,在正常的液体文件中,我可以执行{{ product.metafields.qty_incr.qty-incr }},它会显示该值。在此示例中,为5。

如何在我的.js.liquid文件中使用它?

// Add or subtract from the current quantity
  if ($el.hasClass('ajaxcart__qty--plus')) {
    qty += {{ product.metafields.qty_incr.qty-incr }};
  } else {
    qty -= {{ product.metafields.qty_incr.qty-incr }};
    if (qty <= 0) qty = 0;
  }

我执行了上述操作,但不起作用。可能是菜鸟,我无法在.js.liquid文件中使用液体。

1 个答案:

答案 0 :(得分:1)

您可以在一个主题文件中创建一个全局js变量,如下所示:

<script>const productMetaQtyIncr = {{ product.metafields.qty_incr.qty-incr }}</script>

然后在.js文件中使用它:

// Add or subtract from the current quantity
  if ($el.hasClass('ajaxcart__qty--plus')) {
    qty += productMetaQtyIncr;
  } else {
    qty -= productMetaQtyIncr;
    if (qty <= 0) qty = 0;
  }