无论如何在 js.liquid 文件中使用 Shopify 元字段?

Anyway of using Shopify metafield in js.liquid file?

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

目前它加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 文件中使用 liquid 的新手。

您可以在其中一个主题文件中创建一个全局 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;
  }