Shopify 检查 Metafield 是否存在?
Shopify check if Metafield exists?
如果某个产品的元字段为空,我想隐藏内容,但现在它为所有页面返回它,这意味着我的 if 语句在某处被破坏了。
产品页面
{% if product.metafields.review %}
{% include 'extra-review' %}
{% else %}
{% endif %}
评论摘要页面(extra-review.liquid)
{% assign review = product.metafields.review %}
{% assign key = 'author' %}
{% assign key = 'author-img' %}
{% assign key = 'long' %}
<p> Hello world </p>
任何帮助都会很棒
编辑
添加了评论元字段布局
Liquid 中的真实性不同于 Javascript。我被这个咬过几次:
你的测试应该是:
{% if product.metafields.review == true %}
...
{% endif %}
和 review
in product.metafields.review
是评论元字段的名称空间。见 https://help.shopify.com/themes/liquid/objects/metafield
要检查名称空间是否存在,您可以与 blank
进行比较。例如:
{% if product.metafields.review != blank %}
...
{% endif %}
如果您想确保拥有三个密钥,也可以使用 size
。这里我们简单的输出大小:
{{ product.metafields.review.size }}
有关 truthy/falsy 的更多信息可在 Shopify 文档中找到:
https://help.shopify.com/themes/liquid/basics/true-and-false
如果某个产品的元字段为空,我想隐藏内容,但现在它为所有页面返回它,这意味着我的 if 语句在某处被破坏了。
产品页面
{% if product.metafields.review %}
{% include 'extra-review' %}
{% else %}
{% endif %}
评论摘要页面(extra-review.liquid)
{% assign review = product.metafields.review %}
{% assign key = 'author' %}
{% assign key = 'author-img' %}
{% assign key = 'long' %}
<p> Hello world </p>
任何帮助都会很棒
编辑
添加了评论元字段布局
Liquid 中的真实性不同于 Javascript。我被这个咬过几次:
你的测试应该是:
{% if product.metafields.review == true %}
...
{% endif %}
和 review
in product.metafields.review
是评论元字段的名称空间。见 https://help.shopify.com/themes/liquid/objects/metafield
要检查名称空间是否存在,您可以与 blank
进行比较。例如:
{% if product.metafields.review != blank %}
...
{% endif %}
如果您想确保拥有三个密钥,也可以使用 size
。这里我们简单的输出大小:
{{ product.metafields.review.size }}
有关 truthy/falsy 的更多信息可在 Shopify 文档中找到: https://help.shopify.com/themes/liquid/basics/true-and-false