Goal: Display a list of Collections stored in metafields/metaobjects as dynamic content in the Dawn theme.
Key approach (metafield on Collection):
Create a Collection metafield (type: List of Collections), e.g., namespace: custom, key: creators.
Populate it in Admin > Products > Collections.
In theme code (e.g., snippets/card-collection.liquid), access and loop:
Use card_collection.metafields.custom.creators.value to get the list.
Iterate and render each collection (e.g., col.title).
Metaobject case (list of Collections inside a metaobject):
Access the metafield’s .value to get referenced metaobjects, then nested loop:
For each metaobject, read its collections field via obj.collections.value.
Iterate lCollections and render properties like col.title.
Limits/clarifications:
Collection filters (applied filters) are not accessible via col.filters in these contexts.
Filters are driven by URL parameters and only available within collection or search templates (e.g., main-collection), not from metafields/metaobjects in other templates.
Status: Solution provided via Liquid code loops using .value; dynamic source binding in the editor supports single references, but lists require code. No further actions indicated.
Summarized with AI on December 22.
AI used: gpt-5.
I have made a metaobject for our “creators”, with a metafield consisting of a list of “collections”.
How do I display that list of collections in my Theme as dynamic content?
I am testing it out in the “Dawn theme”, and using the section “list collections”, but can only seam to connect it to metafields with a single collection and not a list.
Anybody have an answer or can point me in the right direction?
I got a question about your example : are the collection filters available through the second loop ? How can I access to them ?
{% assign metafObjects = card_collection.metafields.custom.creators.value %}
{% for obj in metafObjects %}
{% assign lCollections = obj.collections.value %}
{% for col in lCollections %}
{{ col.filters}} <- This value should contains collection filter in the main-collection template but is empty through a metafield or a metaobject in any other template
{% endfor %}
{% endfor %}
It’s impossible. Because Applied filters are reflected through URL parameters. When you can’t use anywhere outside collection template/search template.