【问题标题】:How to iterate over the namespaces in the metafields using shopify liquid如何使用 shopify 液体迭代元字段中的命名空间
【发布时间】:2019-12-22 22:11:17
【问题描述】:

在“product.liquid”模板中,我想向我的 javascript 代码公开所有元字段。现在我有一个名为“mystuff”的命名空间,所以我这样做了......

// Copy all the METAFIELDS into the meta object
let meta = {
    global: {{ product.metafields.global | json }},
    mystuff: {{ product.metafields.mystuff | json }}
};

这行得通。但是,它需要我提前知道所有的命名空间并每行列出一个。我可以像这样以编程方式获取命名空间列表吗?

let meta = {
    {% for ns in product.metafields.namespaces %}
        {{ ns.name }} : {{ ns | json }},
    {% endfor %}
};

我试过了,但这不起作用。有没有办法做到这一点?

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    后退一层并仅迭代元字段,您可能会看到您被允许看到的那些。我相信作为 App 开发者,我们终于可以隐藏我们自己的 Metafield 命名空间不被窥探,所以这里是 YMMV。

    请注意,也不建议您尝试将此结果转换为 JSON 的代码。取而代之的是,获取命名空间元字段,对其进行迭代,并且每个元字段都有一个类型、键和值。您在某些字段中也会获得 JSON 值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 1970-01-01
      • 2018-08-17
      相关资源
      最近更新 更多