如何在Shopify商店cart.js响应中获取产品元字段?
目前,在cart.js中未提供产品元数据的任何细节。
答案 0 :(得分:0)
Metafields可通过Liquid在客户端使用。您不需要cartJS来获取它们。您可以将感兴趣的产品元域渲染到您自己选择的数据结构中,并根据需要使用您想要的数据结构。
您还可以构建基于StorefrontAPI的系统,如果您非常热衷,请尝试使用GraphQL。
答案 1 :(得分:0)
您可以使用metafield
访问item.product.metafields.your-namespace.your-key
。
答案 2 :(得分:0)
您有许多可能的破解方法。 如果您使用的是CartJS,我建议的是
在您的产品页面中,以HTML打印产品元字段
<div class="product-page" data-metafield="{{product.metafield.namespace.value}}">
</div>
添加产品后,只需将元字段添加为订单项属性
var properties = {metafield : $('.product-page').data('metafield')};
CartJS.addItem(variantId, 1 ,properties);
现在可以通过CartJS.cart.items [i] .properties [metafield]访问元字段!
答案 3 :(得分:0)
您可以通过将其分配给液体文件中的变量来获取相应产品,集合,订单的 metafields 内容。
在product-template.liquid
中,您可以使用
{% assign var_meta = page.metafields.meta_namespace %}
//您可以使用the Shopify docs来了解如何创建 Metafields
{% assign key = 'meta_key' %}
{% assign key_val_meta = meta_namespace.meta_key %}
访问变量 {{key_val_meta}}
如果为元字段分配唯一值,则可以使用它来获取确切的信息,然后可以在cart.js函数中输入该信息。
答案 4 :(得分:0)
** 您可以通过添加以下步骤来做到这一点**
{% for field in product.metafields.namespace%}
<input required class="required hidden" id="customID" type="hidden" value='{{ field | last }}' name="properties[metafields[{{ field | first }}]]">
{% endfor %}
{% for field in item.properties.metafields %}
{{ field | first }}: {{ field | last }}
{% endfor %}