如何在 Shopify 商店 cart.js 响应中获取产品元字段?
目前,在 cart.js 中没有提供产品元字段的任何详细信息。
如何在 Shopify 商店 cart.js 响应中获取产品元字段?
目前,在 cart.js 中没有提供产品元字段的任何详细信息。
你有很多可能的黑客攻击。如果您使用 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] 访问元字段!
**您可以通过添加以下步骤来做到这一点**
{% 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 %}
元字段可通过 Liquid 在客户端使用。您不需要 cartJS 来获取它们。您可以将感兴趣的产品元字段呈现到您自己选择的数据结构中,并随心所欲地使用。
如果您真的很热衷,您还可以构建一个基于 StorefrontAPI 的系统并尝试使用 GraphQL。
您可以通过将其分配给液体文件中的变量来获取相应产品、集合、订单的元字段内容。在 中product-template.liquid
,您可以使用
{% assign var_meta = page.metafields.meta_namespace %}
// 您可以使用Shopify 文档来了解如何创建元字段
{% assign key = 'meta_key' %}
{% assign key_val_meta = meta_namespace.meta_key %}
访问变量 {{key_val_meta}}
如果您为元字段分配唯一值,则可以使用它来获取可以在 cart.js 函数中输入该信息的确切信息。
您可以访问metafield
使用item.product.metafields.your-namespace.your-key
.