Liquid, JavaScript, themes, sales channels
Hi there,
I'm trying to create a custom product badge, which pulls in a metafield value if a specific tag (for now just hijacking the "new" tag) is added to the product. The {{ product.metafields.custom.plastic_pieces }} works when I test it on a product page, (and have also tried prefixing with "products." like the other badges) so I'm guessing it's something else. Please help!
{% comment %}
@param itemType {Product}
Product to apply badge to.
{% endcomment %}
<div class="badges-wrapper">
{% if itemType.available %}
{% if itemType.compare_at_price_min > itemType.price_min %}
<span class="badge badge-sale">{{ 'products.product.on_sale' | t }}</span>
{% endif %}
{% capture new-tag %}{{ 'products.product.new' | t }}{% endcapture %}
{% if itemType.tags contains new-tag %}
<span class="badge badge-new">{{ product.metafields.custom.plastic_pieces }}</span>
{% endif %}
{% else %}
<span class="badge badge-soldout">{{ 'products.product.sold_out' | t }}</span>
{% endif %}
</div>
Solved! Go to the solution
This is an accepted solution.
After battling with this today, I figured it out! Adding here in case anyone else needs it in the future. It needed to be "itemType.metafields" instead of "product.metafields". Now it's like the below, it works!
{{ itemType.metafields.custom.plastic_pieces }}
This is an accepted solution.
After battling with this today, I figured it out! Adding here in case anyone else needs it in the future. It needed to be "itemType.metafields" instead of "product.metafields". Now it's like the below, it works!
{{ itemType.metafields.custom.plastic_pieces }}
User | RANK |
---|---|
25 | |
22 | |
9 | |
6 | |
6 |
Explore the 30-30-30 rule, a dynamic social media strategy for new businesses. Learn how t...
By Trevor Sep 20, 2023Discover how to leverage the often overlooked footer of your ecommerce site to gain custom...
By Skye Sep 15, 2023In this blog, we’ll be shining a light on Shopify Partners, Experts, and Affiliates. Who a...
By Imogen Sep 13, 2023