FROM CACHE - en_header

Product metafield not showing on product badge

Solved
RachSebastian
New Member
2 1 0

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>

 

Accepted Solution (1)

Accepted Solutions
RachSebastian
New Member
2 1 0

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 }}

 

View solution in original post

Reply 1 (1)
RachSebastian
New Member
2 1 0

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 }}