Distingue por tipo de contenido
No todas las fuentes deberían verse igual. Un producto debería mostrarse como una tarjeta de producto, un PDF como una tarjeta de documento, una FAQ como una cita. El tipo de contenido de una referencia (reference.type) es lo que usas para bifurcar, y es el mismo tipo de contenido que defines en los ajustes de Contents de un trabajo.
El patrón: una plantilla por tipo de contenido
La tarjeta highlighted por defecto gestiona los tipos integrados (FILE, PAGE y sin tipo). Para cualquier otro tipo, busca una plantilla con exactamente el mismo nombre que el tipo y la renderiza:
{% assign referenceType = reference.type | default: "" | strip %}
{% if referenceType == "" or referenceType == "FILE" or referenceType == "PAGE" %}
{% include 'default-card' %}
{% elsif referenceType | hasTemplate %}
{% include referenceType %} {# e.g. content type "PRODUCT" → the PRODUCT template #}
{% else %}
{% include 'fallback-card' %}
{% endif %}
Así que, para dar a un tipo de contenido su propio aspecto:
- Define ese tipo de contenido en el trabajo de captura de datos (o en el contenido), por ejemplo
PRODUCT. - En el Advanced editor, añade una plantilla llamada
PRODUCTcon el Liquid de esa tarjeta.
Dentro de tu plantilla PRODUCT, la reference actual sigue estando disponible:
<div class="product-card">
<h4>{{ reference.title }}</h4>
{% if reference.metaOgImageURL %}<img src="{{ reference.metaOgImageURL }}"/>{% endif %}
<a class="buy" href="{{ reference.url }}">View product</a>
</div>
Distinguir por fuente (dataset)
reference.dataset también está disponible, así que puedes renderizar de forma distinta según de dónde venga el contenido:
{% if reference.dataset == "Product catalog" %}
{% include 'PRODUCT' %}
{% else %}
{% include 'default-card' %}
{% endif %}
Etiquetas frente a tipo de contenido
Hoy, la bifurcación por referencia se basa en el tipo de contenido (reference.type) y en el dataset (reference.dataset): las etiquetas que asignas al contenido de un dataset no aparecen en el objeto de referencia dentro de las plantillas. Usa el tipo de contenido para crear una visualización personalizada y el dataset para distinguir las fuentes.