Shopify / liquid

Liquid markup language. Safe, customer facing template language for flexible web apps.
https://shopify.github.io/liquid/
MIT License
11.13k stars 1.39k forks source link

loop through list.metaobject_reference metafield's not working #1762

Open Shoufty opened 11 months ago

Shoufty commented 11 months ago

Hello,

I think there is a bug with the list.metaobject_reference in product metafields.

In product, I have a meta field "estate" which is of type : list.metaobject_reference

When i do for example :

{% for myEstate in product.metafields.custom.estate.value %}
    {{ myEstate |  dump }}
{% endfor %}

I have only one entry in the for. But when i do :

{{ product.metafields.custom.estate | dump }}

I have the following print :

["gid://shopify/Metaobject/22999368029","gid://shopify/Metaobject/22999597405","gid://shopify/Metaobject/22999531869","gid://shopify/Metaobject/22999695709"]

I don't understand why it doesn't goes through all attached Estates, and if i do something like:

{{ product.metafields.custom.estate.value | json }}

It show me the first referenced metaobject, but i cannot access any other one..

Any one has the same problem ? Is it a bug ? Base on documentation i should be able to iterate through all values.

But this is not working at this time.

Many thanks for any help 😄

ryansilva commented 9 months ago

@Shoufty if you haven't found a solution or anyone else has this issue, the below snippet allows you to loop through the metaobject_reference that has list as a field on the metaobject.

{%- for myEstate in product.metafields.custom.estate.value['fieldNameFromMetaobject'].value -%}
        {{ myEstate }}
 {%- endfor -%}
fritzfranke commented 1 month ago

{%- for myEstate in product.metafields.custom.estate.value['fieldNameFromMetaobject'].value -%}

What is fieldNameFromMetaobject supposed to be? estate is the list that should be looped through.