Distinguere per tipo di contenuto
Non tutte le fonti devono avere lo stesso aspetto. Un prodotto dovrebbe apparire come scheda prodotto, un PDF come scheda documento, una FAQ come citazione. Il tipo di contenuto di un riferimento, reference.type, è ciò che usi per diramare la logica, ed è lo stesso tipo di contenuto che imposti nelle impostazioni Contents di un job.
Lo schema: un template per tipo di contenuto
La scheda predefinita highlighted gestisce i tipi integrati (FILE, PAGE e quelli senza tipo). Per qualsiasi altro tipo, cerca un template con lo stesso nome esatto del tipo e visualizza quello:
{% 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 %}
Quindi, per dare a un tipo di contenuto un aspetto proprio:
- Imposta quel tipo di contenuto sul job di acquisizione dati (o sul contenuto), ad esempio
PRODUCT. - Nell’Advanced editor, aggiungi un template chiamato
PRODUCTcon il Liquid per quella scheda.
Dentro il tuo template PRODUCT, il reference corrente è ancora disponibile:
<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>
Distinguere per fonte (dataset)
È disponibile anche reference.dataset, quindi puoi visualizzare in modo diverso a seconda della provenienza del contenuto:
{% if reference.dataset == "Product catalog" %}
{% include 'PRODUCT' %}
{% else %}
{% include 'default-card' %}
{% endif %}
Tag e tipo di contenuto
Oggi la diramazione per singolo riferimento si basa sul tipo di contenuto (reference.type) e sul dataset (reference.dataset): i tag che associ ai contenuti di un dataset non sono esposti nell’oggetto reference dentro i template. Usa il tipo di contenuto per gestire una visualizzazione personalizzata; ricorri al dataset per distinguere le fonti.