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

DropInhalt
record.ancestorsPfad von der Wurzel bis zum Elternteil – ideal für Breadcrumbs
record.childrenDirekte Kinder
record.descendantsAlle 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

GrenzeWert
Auflösungstiefe1
referenced_by / children / descendantsmax. 250 Einträge
Hierarchietiefemax. 5 Ebenen
Verfügbarkeit der Dropsnur auf Detailseiten
Referenzen in Wiederholbar-Feldernnicht unterstützt
Noch Fragen?

Unser Support antwortet in der Regel innerhalb eines Werktags.

Support kontaktieren