在片段中加载 Shopify 产品元字段
Loading Shopify Product Metafields in snippets
我正在尝试编辑我的 shopify 商店中的默认“Dawn”主题。我的目标是通过一个片段输出产品元字段。为此,我创建了一个名为“color-swatches.liquid”的片段,其中包含以下代码:
<div class="sw-external-links modification">
{%- if product.metafields.my_fields.current_product_color -%}
</div>
从 product-card.liquid 调用此代码段时,我使用了以下 liquid 代码:
{% render 'color-swatches', product: product_card_product %}
但是我无法在产品中输出 current_product_color 元字段的值。
如果我像这样将截取的代码直接粘贴到 product-card.liquid 中,它会起作用:
{{ product_card_product.metafields.my_fields.current_product_color }}
你能告诉我我做错了什么吗?当我将 product_card_product 变量传递给它时,我只希望片段代码输出 current_product_color 元字段。
虽然你的问题没有足够的信息,但我会尽力帮助你。
在代码段文件 (color-swatches.liquid) 中,检查您在访问产品的元字段时是否使用了正确的变量。
如果您像这样呈现代码段(在 'product-card.liquid' 中):
{% render 'color-swatches', MY_PRODUCT: product_card_product %}
,
那么您应该像这样访问元字段(在 'color-swatches.liquid' 中):
{{ MY_PRODUCT.metafields.my_fields.current_product_color }}
检查 if 语句。
- 在 liquid 中,更喜欢
!= blank
语法:
{%- if product.metafields.my_fields.current_product_color != blank -%}
- 检查 if 语句是否有效。
为此,请尝试在 if. 之外呈现代码段
如果没有任何效果,请仔细检查自己。
使用 <script>console.log({{ YOUR_LIQUID_CODE | json }})</script>
执行此操作并检查浏览器的控制台以查看日志。
在这两个文件中,检查元字段和产品。
我正在尝试编辑我的 shopify 商店中的默认“Dawn”主题。我的目标是通过一个片段输出产品元字段。为此,我创建了一个名为“color-swatches.liquid”的片段,其中包含以下代码:
<div class="sw-external-links modification">
{%- if product.metafields.my_fields.current_product_color -%}
</div>
从 product-card.liquid 调用此代码段时,我使用了以下 liquid 代码:
{% render 'color-swatches', product: product_card_product %}
但是我无法在产品中输出 current_product_color 元字段的值。
如果我像这样将截取的代码直接粘贴到 product-card.liquid 中,它会起作用:
{{ product_card_product.metafields.my_fields.current_product_color }}
你能告诉我我做错了什么吗?当我将 product_card_product 变量传递给它时,我只希望片段代码输出 current_product_color 元字段。
虽然你的问题没有足够的信息,但我会尽力帮助你。
在代码段文件 (color-swatches.liquid) 中,检查您在访问产品的元字段时是否使用了正确的变量。
如果您像这样呈现代码段(在 'product-card.liquid' 中):
{% render 'color-swatches', MY_PRODUCT: product_card_product %}
,那么您应该像这样访问元字段(在 'color-swatches.liquid' 中):
{{ MY_PRODUCT.metafields.my_fields.current_product_color }}
检查 if 语句。
- 在 liquid 中,更喜欢
!= blank
语法:
{%- if product.metafields.my_fields.current_product_color != blank -%}
- 检查 if 语句是否有效。
为此,请尝试在 if. 之外呈现代码段
- 在 liquid 中,更喜欢
如果没有任何效果,请仔细检查自己。
使用<script>console.log({{ YOUR_LIQUID_CODE | json }})</script>
执行此操作并检查浏览器的控制台以查看日志。
在这两个文件中,检查元字段和产品。