Referenzen und Hierarchien im Theme
Verknüpfte Datensätze auf Detailseiten ausgeben, Rückwärtsreferenzen nutzen und Breadcrumbs aus Hierarchien bauen.
Referenzen auf der Detailseite
Auf Detailseiten sind Referenzfelder aufgelöst (Tiefe 1):
{# Einzelreferenz #}
{% if record.kategorie %}
<a href="{{ record.kategorie.url }}">{{ record.kategorie.name }}</a>
{% endif %}
{# Mehrfachreferenz #}
{% for tag in record.tags %}
<a class="tag" href="{{ tag.url }}">{{ tag.name }}</a>
{% endfor %}Am Zielobjekt stehen id, slug, url und alle leichten Felder. Richtext, JSON und Wiederholbar fehlen, Referenzen im Ziel sind nur { id }.
Rückwärtsreferenz
{# templates/data.kategorie.liquid – alle Beiträge dieser Kategorie #}
{% assign beitraege = record.referenced_by.beitrag %}
{% for b in beitraege %}
<a href="{{ b.url }}">{{ b.title }}</a>
{% else %}
<p>Noch keine Beiträge in dieser Kategorie.</p>
{% endfor %}Hierarchien
| Drop | Inhalt |
|---|---|
record.ancestors | Pfad von der Wurzel bis zum Elternteil – ideal für Breadcrumbs |
record.children | Direkte Kinder |
record.descendants | Alle Nachfahren |
<nav aria-label="Breadcrumb">
<ol>
<li><a href="/">Start</a></li>
{% for a in record.ancestors %}<li><a href="{{ a.url }}">{{ a.name | escape }}</a></li>{% endfor %}
<li aria-current="page">{{ record.name | escape }}</li>
</ol>
</nav>Referenzen in Listen
In section.collection und collections.<handle> sind Referenzen nur IDs. Für Namen baust du einen Lookup:
{% assign kategorien = collections.kategorie %}
{% for item in section.collection %}
{%- assign kat = kategorien | where: "id", item.kategorie | first -%}
<a href="{{ item.url }}">{{ item.title }}{% if kat %} · {{ kat.name }}{% endif %}</a>
{% endfor %}Grenzen
| Grenze | Wert |
|---|---|
| Auflösungstiefe | 1 |
referenced_by / children / descendants | max. 250 Einträge |
| Hierarchietiefe | max. 5 Ebenen |
| Verfügbarkeit der Drops | nur auf Detailseiten |
| Referenzen in Wiederholbar-Feldern | nicht unterstützt |
Unser Support antwortet in der Regel innerhalb eines Werktags.