I want to check if a metafield (created with metafields Guru) exists on a product or not and based on that change a variable to show or hide the div holding the metafield.
I got this:
{% assign display = "inline-block" %}
{% if product.metafields.energielabel.energie.value == blank %}
{% assign display = "none" %}
{% endif %}
<div id="energielabel-container"><img class="label" src="https://cdn.shopify.com/s/files/1/0619/8034/4516/{{ product.metafields.energielabel.energie.value }}" /></div>
<style>
#energielabel-container {
width: 80px;
display: {{ display }};
}
</style>
When I just add some example letters into to the if condition it´s working as it should (empty metafield = shows the exaple letters ), but redefining the variable doesn´t work…
2
Answers
Your if statement checks if metafield is blank using
==
operator. What you want is to check if it’s not blank (if it exists)Try:
The line above is questionable. you should store the whole url instead;
using your method will create extra code and errors; the
img
tag will still fetch the url that does not exist. So just check withif
tag and put all code inside.